Swing/MouseWheel のバックアップ(No.23)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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
![Swing/MouseWheel screenshot](https://ateraimemo.com/swing/mousewheel/screenshot.png)
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
にMouseWheelListener
を設定しその領域上でマウスホイールを回転させると値を変更可能にしています。
MouseWheelEvent#getWheelRotation()
:- ホイールの回転が下方向で増加(正)
- ホイールの回転が上方向で減少(負)