java - Determine who call stateChanged -
i have few sliders this:
//create slider jslider speedslider = new jslider(jslider.vertical, min_speed, max_speed, initvalue); speedslider.addchangelistener(controller); speedslider.setmajortickspacing(major_tick_spacing); speedslider.setpaintticks(true); panel.add(speedslider); in view.java class
there controller.java
public class controller implements controllerinterface { //... @override public void statechanged(changeevent e) { jslider source = (jslider)e.getsource(); if (!source.getvalueisadjusting()) { int speed = (int)source.getvalue(); if (0 == speed) { // stop } else { model.setspeedbody(speed); } } } } the problem can not determine slider event, how it? (controllerinterface extends changelistener)
test value of source:
jslider source = (jslider)e.getsource(); if (source == speedslider) { ... } else if (source == gearslider) { ... } or add specific listener each slider, each listener notified of changes of 1 slider:
speedslider.addchangelistener(new changelistener() { @override public void statechanged(changeevent e) { ... } });
Comments
Post a Comment