Swing/MouseWheel のバックアップ(No.20)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/MouseWheel へ行く。
- 1 (2004-03-08 (月) 08:53:34)
- 2 (2004-03-11 (木) 15:53:57)
- 3 (2004-03-12 (金) 01:45:18)
- 4 (2004-03-12 (金) 09:54:15)
- 5 (2004-06-02 (水) 09:58:02)
- 6 (2004-07-21 (水) 06:34:55)
- 7 (2004-08-31 (火) 12:08:47)
- 8 (2004-10-08 (金) 06:24:06)
- 9 (2004-11-04 (木) 10:09:49)
- 10 (2005-02-03 (木) 02:04:17)
- 11 (2005-04-28 (木) 04:32:57)
- 12 (2005-10-02 (日) 20:51:07)
- 13 (2006-02-27 (月) 16:13:50)
- 14 (2007-04-07 (土) 00:50:54)
- 15 (2007-10-25 (木) 16:01:44)
- 16 (2013-04-05 (金) 17:54:25)
- 17 (2013-10-11 (金) 12:51:45)
- 18 (2015-02-06 (金) 19:40:30)
- 19 (2016-11-25 (金) 17:28:09)
- 20 (2017-06-22 (木) 11:08:05)
- 21 (2018-06-22 (金) 14:01:11)
- 22 (2020-06-10 (水) 13:42:47)
- 23 (2021-11-26 (金) 05:14:30)
- category: swing folder: MouseWheel title: MouseWheelを使った値の増減 tags: [MouseWheelListener, JSpinner, JSlider] author: aterai pubdate: 2004-03-08T08:53:34+09:00 description: JSpinnerやJSliderの値をマウスホイールを使って変更します。 image:
概要
JSpinner
やJSlider
の値をマウスホイールを使って変更します。
Screenshot
Advertisement
サンプルコード
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 in GitHub: Java, Kotlin解説
上記のサンプルでは、JSpinner
やJSlider
上でマウスホイールを回転させるとその値を変更することができます。MouseWheelEvent#getWheelRotation()
の値は、ホイールの回転が下方向の場合は増加で正、上方向は減少で負になります。