Нет, вам нужно всего лишь удалить проверку getValueIsAdjusting()
.Итак, это перекрасит вашу пушку, когда вы двигаете мышью:
class AngleSlider implements ChangeListener {
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider) e.getSource();
double dAngle = (double)source.getValue();
pnlCannon.dCannonAngle=Math.toRadians(dAngle);
pnlCannon.repaint();
}
}
Это еще один пример, показывающий то же самое, он будет печатать значение ползунка при его перемещении:
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
JSlider slider = new JSlider();
slider.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent ce) {
System.out.println(((JSlider) ce.getSource()).getValue());
}
});
frame.add(slider);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}