概要

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

サンプルコード

spinner.addMouseWheelListener(new MouseWheelListener() {
  @Override public void mouseWheelMoved(MouseWheelEvent e) {
    JSpinner source = (JSpinner) e.getComponent();
    SpinnerNumberModel model = (SpinnerNumberModel) source.getModel();
    Integer oldValue = (Integer) source.getValue();
    int intValue = oldValue.intValue() - e.getWheelRotation() * model.getStepSize().intValue();
    int max = ((Integer) model.getMaximum()).intValue(); //1000
    int min = ((Integer) model.getMinimum()).intValue(); //0
    if (min <= intValue && intValue <= max) {
      source.setValue(intValue);
    }
  }
});
view all

解説

上記のサンプルでは、JSpinnerJSlider上でマウスホイールを回転させるとその値を変更することができます。MouseWheelEvent#getWheelRotation()の値は、ホイールの回転が下方向の場合は増加で正、上方向は減少で負になります。

コメント