• title: MouseWheelを使った値の増減 tags: [MouseWheelListener, JSpinner, JSlider] author: aterai pubdate: 2004-03-08T08:53:34+09:00 description: JSpinnerやJSliderの値をマウスホイールを使って変更します。

概要

JSpinnerJSliderの値をマウスホイールを使って変更します。

サンプルコード

spinner.addMouseWheelListener(new MouseWheelListener() {
  @Override public void mouseWheelMoved(MouseWheelEvent e) {
    JSpinner source = (JSpinner)e.getSource();
    SpinnerNumberModel model = (SpinnerNumberModel)source.getModel();
    Integer oldValue = (Integer)source.getValue();
    int newValue = oldValue.intValue()
                  -e.getWheelRotation()*model.getStepSize().intValue();
    int max = ((Integer)model.getMaximum()).intValue(); //1000
    int min = ((Integer)model.getMinimum()).intValue(); //0
    if(min<=newValue && newValue<=max) {
      source.setValue(newValue);
    }
  }
});
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、JSpinnerJSlider上でマウスホイールを回転させると値が変化します。e.getWheelRotation()の値は、ホイールの回転が下方向の場合は増加、上方向は減少になります。

コメント