Swing/WheelCombo のバックアップの現在との差分(No.9)
TITLE:JComboBoxの値をMouseWheelで変更
Posted by aterai at 2004-11-15
JComboBoxの値をMouseWheelで変更
JComboBoxにフォーカスがある場合、その値をMouseWheelの上下で変更します。- category: swing folder: WheelCombo title: JComboBoxの値をMouseWheelで変更 tags: [JComboBox, MouseWheelListener] author: aterai pubdate: 2004-11-15T02:34:50+09:00 description: JComboBoxにフォーカスがある場合、その値をMouseWheelの上下で変更します。 image:
概要
JComboBox
にフォーカスがある場合、その値をMouseWheel
の上下で変更します。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
サンプルコード
サンプルコード
#spanadd
JComboBox<String> combo = makeComboBox();
#spanend
combo.addMouseWheelListener(new MouseWheelListener() {
public void mouseWheelMoved(MouseWheelEvent e) {
JComboBox source = (JComboBox) e.getSource();
if(!source.hasFocus()) return;
@Override public void mouseWheelMoved(MouseWheelEvent e) {
JComboBox<?> source = (JComboBox<?>) e.getComponent();
if (!source.hasFocus()) {
return;
}
int ni = source.getSelectedIndex() + e.getWheelRotation();
if(ni>=0 && ni<source.getItemCount()) {
if (ni >= 0 && ni < source.getItemCount()) {
source.setSelectedIndex(ni);
}
}
});
View in GitHub: Java, Kotlin解説
上記のサンプルでは、一番上のコンボボックスにMouseWheelListenerが設定され、マウスホイールの上下回転に反応して、表示される内容が順次変更されるようになっています。解説
上記のサンプルでは、JComboBox
にMouseWheelListener
を設定しJComboBox
にフォーカスがある場合はマウスホイールの上下回転イベントに反応して表示内容を順次変更しています。