JTableのCellEditorにJComboBoxを設定
Total: 21836
, Today: 1
, Yesterday: 1
Posted by aterai at
Last-modified:
Summary
JTable
のCellEditor
にJComboBox
を使用し、リストから値を選択できるようにします。
Screenshot

Advertisement
Source Code Examples
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, KotlinExplanation
上記のサンプルでは、1
列目のセルエディタとしてコンボボックスを使うDefaultCellEditor
を登録しています。
- コンボボックスの余白を
0
に設定しないとセル内文字列の上下が欠けてしまう場合がある
Reference
- Santhosh Kumar's Weblog : Santhosh Kumar's Weblog
- JTableのCellRendererにJComboBoxを設定
- セルの表示にも
JComboBox
を使用する場合はJComboBox
を継承するセルレンダラーを使用する
- セルの表示にも
- JComboBoxセルエディタのドロップダウンリストを編集開始直後は表示しないよう設定する