TITLE:JTableのCellEditorにJComboBoxを設定
Posted by terai at 2005-09-26

JTableのCellEditorにJComboBoxを設定

JTableのCellEditorにJComboBoxを使用し、リストから値を選択できるようにします。
  • category: swing folder: ComboCellEditor title: JTableのCellEditorにJComboBoxを設定 tags: [JTable, TableCellEditor, JComboBox, TableColumn] author: aterai pubdate: 2005-09-26T15:27:12+09:00 description: JTableのCellEditorにJComboBoxを使用し、リストから値を選択できるようにします。 image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTJy9xBM6I/AAAAAAAAAU8/h5YELRcY4gE/s800/ComboCellEditor.png

概要

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

#screenshot

サンプルコード

#spanend
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
JComboBox cb = new JComboBox(new String[] {"名前0", "名前1", "名前2"});
#spandel
cb.setBorder(BorderFactory.createEmptyBorder()); 
#spanend
#spanadd
cb.setBorder(BorderFactory.createEmptyBorder());
#spanend

TableColumn col = table.getColumnModel().getColumn(1);
col.setCellEditor(new DefaultCellEditor(cb));
#spandel
//col.setCellRenderer(new ComboBoxCellRenderer());
#spanend
#spanadd
// col.setCellRenderer(new ComboBoxCellRenderer());
#spanend

解説

上記のサンプルでは、1列目のセルエディタとしてコンボボックスを使うDefaultCellEditorを登録しています。

解説

上記のサンプルでは、1列目のセルエディタとしてコンボボックスを使うDefaultCellEditorを登録しています。 コンボボックスの余白を0にしておくと、セル内にきれいにぴったり収まります(参考:Santhosh Kumar's Weblog : Santhosh Kumar's Weblog)。
  • 以下は余白を0にしていない場合

    #screenshot(,screenshot2.png)

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

参考リンク

参考リンク

コメント

コメント