以下のようJComboBox
に、カスタムListCellRenderer
(a ) を使用して を作成しました。JButton
JButton b1 = new JButton("One");
JButton b2 = new JButton("Two");
JButton b3 = new JButton("Three");
JButton[] buttonList = {b1, b2, b3};
JComboBox box = new JComboBox(buttonList);
box.setRenderer(new CellRenderer());
//...
/**************** Custom Cell Renderer Class ****************/
class CellRenderer implements ListCellRenderer {
public Component getListCellRendererComponent(JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
JButton button = (JButton) value;
return button;
}
ボタンアクションを個別に設定しましたが、コンボボックスからボタンをクリックしているときにボタンクリックの視覚効果が表示されない場合を除いて、すべて正常に動作します。
JButton
の内側をクリックする視覚効果を表示するにはどうすればよいJComboBox
ですか?