JTableのCellEditorにJComboBoxを設定
Total: 21752
, Today: 2
, Yesterday: 0
Posted by aterai at
Last-modified:
概要
JTable
のCellEditor
にJComboBox
を使用し、リストから値を選択できるようにします。
Screenshot
Advertisement
サンプルコード
JComboBox cb = new JComboBox(new String[] {"名前0", "名前1", "名前2"});
cb.setBorder(BorderFactory.createEmptyBorder());
TableColumn col = table.getColumnModel().getColumn(1);
col.setCellEditor(new DefaultCellEditor(cb));
// col.setCellRenderer(new ComboBoxCellRenderer());
View in GitHub: Java, Kotlin解説
上記のサンプルでは、1
列目のセルエディタとしてコンボボックスを使うDefaultCellEditor
を登録しています。
- コンボボックスの余白を
0
に設定しないとセル内文字列の上下が欠けてしまう場合がある
参考リンク
- Santhosh Kumar's Weblog : Santhosh Kumar's Weblog
- JTableのCellRendererにJComboBoxを設定
- セルの表示にも
JComboBox
を使用する場合はJComboBox
を継承するセルレンダラーを使用する
- セルの表示にも
- JComboBoxセルエディタのドロップダウンリストを編集開始直後は表示しないよう設定する