• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JComboBoxの値をMouseWheelで変更
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2004-11-15
*JComboBoxの値をMouseWheelで変更 [#i7ef2fc7]
JComboBoxにフォーカスがある場合、その値をMouseWheelの上下で変更します。

-&jnlp;
-&jar;
-&zip;

//#screenshot
#ref(http://lh4.ggpht.com/_9Z4BYR88imo/TQTWm95sa5I/AAAAAAAAApg/1tiQsmg5QKw/s800/WheelCombo.png)

**サンプルコード [#ef581a0a]
#code(link){{
combo.addMouseWheelListener(new MouseWheelListener() {
  public void mouseWheelMoved(MouseWheelEvent e) {
  @Override 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);
    }
  }
});
}}

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

//**参考リンク
**コメント [#ebca23c2]
#comment