TITLE:MouseWheelを使った値の増減

MouseWheelを使った値の増減

編集者:Terai Atsuhiro
作成日:2004-03-08
更新日:2021-11-26 (金) 05:14:30

概要

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

#screenshot

サンプルコード

 spinner.addMouseWheelListener(new MouseWheelListener() {
   public void mouseWheelMoved(MouseWheelEvent e) {
     JSpinner source = (JSpinner)e.getSource();
     SpinnerNumberModel model = (SpinnerNumberModel)source.getModel();
     Integer oldValue = (Integer)source.getValue();
     int intValue = oldValue.intValue()
                   -e.getWheelRotation()*model.getStepSize().intValue();
     Integer newValue = new Integer(intValue);
     if(model.getMaximum().compareTo(newValue)>=0 &&
        model.getMinimum().compareTo(newValue)<=0) {
       source.setValue(newValue);
     }
   }
 });
  • &jnlp;
  • &jar;
  • &zip;

解説

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

コメント