次のようなスライダーがいくつかあります。
//Create the 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);
私のView.javaクラスで
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);
}
}
}
}
問題は、それが正確にスライダーイベントであったものから判断できないことです。どうすればよいですか? (ControllerInterface は ChangeListener を拡張します)