ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

コンボボックスのインデックスをマウススクロールで変更可能にしたい

2011年02月28日 19時54分54秒 | ソフト開発日記
Swingの古参,JComboBoxのインデックスをマウスでぐりぐりして変更できるようにしたかったのでメモ.

cmbBoxTestという名前のコンボボックスに対して,
MouseWheelEventを実装し,MouseWheelMovedをオーバーライド(正しい言葉遣いか不明).


private void cmbToothMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {
 //回転方向の取得
 int wheel = evt.getWheelRotation();
 //アイテム数の取得
 int count = cmbBoxTest.getItemCount();
 //選択項目位置の取得
 int index = cmbBoxTest.getSelectedIndex();

 //アイテムが2つ以上あるとき
 if(count >= 2){

  //上方向スクロール
  if(wheel == -1){if(index > 0){ cmbBoxTest.setSelectedIndex(index-1); }}

  //下方向スクロール
  if(wheel == 1){if(index + 1 < count){ cmbBoxTest.setSelectedIndex(index+1); }}
}

あっさりできました.