TITLE:JTableのCellEditorにJComboBoxを設定

Posted by at 2005-09-26

JTableのCellEditorにJComboBoxを設定

`JTableCellEditorJComboBox`を使用し、リストから値を選択できるようにします。

  • &jnlp;
  • &jar;
  • &zip;
ComboCellEditor.png

サンプルコード

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)。

  • 以下は余白を`0`にしていない場合
ComboCellEditor1.png

セルの表示にも`JComboBoxを使用する場合は、JTableのCellRendererにJComboBoxを設定を参考にJComboBox`を継承するセルレンダラーを使用してみてください。

参考リンク

コメント