0

次のようなスライダーがいくつかあります。

//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 を拡張します)

4

1 に答える 1