JComboBoxの値をMouseWheelで変更

編集者:Terai Atsuhiro
作成日:2004-11-15
更新日:2021-11-16 (火) 08:22:44

概要

JComboBoxにフォーカスがある場合、その値をMouseWheelの上下で変更します。

http://terai.xrea.jp/swing/wheelcombo/screenshot.png

サンプルコード

combo.addMouseWheelListener(new MouseWheelListener() {
  public void mouseWheelMoved(MouseWheelEvent e) {
    JComboBox source = (JComboBox) e.getSource();
    if(!source.hasFocus()) return;
    int ni = source.getSelectedIndex() + e.getWheelRotation();
    if(ni>=0 && ni<source.getItemCount()) {
      source.setSelectedIndex(ni);
    }
  }
});

解説

上記のサンプルでは、一番上のコンボボックスにMouseWheelListenerを設定しています。マウスホイールの上下回転に反応して、表示される内容が順次移動するようになっています。

コメント