JTableのCellEditorにJComboBoxを設定

編集者:Terai Atsuhiro
作成日:2005-09-26
更新日:2021-11-07 (日) 05:32:39

概要

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

http://terai.xrea.jp/swing/combocelleditor/screenshot.png

サンプルコード

JComboBox combo = new JComboBox();
combo.setBorder(BorderFactory.createEmptyBorder());
combo.addItem("名前0");
combo.addItem("名前1");
combo.addItem("名前2");
table.setDefaultEditor(JComboBox.class, new DefaultCellEditor(combo));

解説

コンボボックスを使うDefaultCellEditorオブジェクトを生成し、JTable#setDefaultEditorメソッドでこれをJComboBox.classのエディタに設定しています。

エディタに設定するコンボボックスの余白を0にしておくと、セルにきれいに収まります(参考:Santhosh Kumar's Weblog : Santhosh Kumar's Weblog)。

  • 余白を0にしていない場合
    • http://terai.xrea.jp/swing/combocelleditor/screenshot2.png

参考リンク

コメント