JComboBox に独自の ListCellRenderer を設定すると、プログラム内で項目を選択するコードを記述しても項目が選択できないのか?
スポンサーリンク
とりあえず JComboBox の ListCellRenderer を利用しているクラスをピックアップ。
- com.sun.java.swing.plaf.motif.MotifComboBoxUI
- com.sun.java.swing.plaf.windows.WindowsComboBoxUI
- javax.swing.plaf.basic.BasicComboBoxUI
- javax.swing.plaf.basic.BasicComboPopup
- javax.swing.plaf.metal.MetalComboBoxButton
- javax.swing.plaf.synth.SynthComboBoxUI
- javax.swing.plaf.synth.SynthComboPopup
- javax.swing.JComboBox
このうち ListCellRenderer#getListCellRendererComponent メソッドを呼び出している箇所ではどれも index に -1 を渡していた。
これが原因か?
結局、当たり前なのかもしれないが、レンダラは関係なかった。自前でモデルの要素を入れ直してる箇所が原因でした。。。