Swing/ComboCellEditor の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/ComboCellEditor へ行く。
- Swing/ComboCellEditor の差分を削除
--- 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 --- * 概要 [#summary] `JTable`の`CellEditor`に`JComboBox`を使用し、リストから値を選択できるようにします。 #download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTJy9xBM6I/AAAAAAAAAU8/h5YELRcY4gE/s800/ComboCellEditor.png) * サンプルコード [#sourcecode] #code(link){{ 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()); }} * 解説 [#explanation] 上記のサンプルでは、`1`列目のセルエディタとしてコンボボックスを使う`DefaultCellEditor`を登録しています。 - コンボボックスの余白を`0`に設定しないとセル内文字列の上下が表示が欠けてしまう場合がある - コンボボックスの余白を`0`に設定しないとセル内文字列の上下が欠けてしまう場合がある #ref(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTJ1Ykl--I/AAAAAAAAAVA/ZRLgScHCF3s/s800/ComboCellEditor1.png) -- 参考: [http://www.jroller.com/page/santhosh?entry=tweaking_jtable_editing Santhosh Kumar's Weblog : Santhosh Kumar's Weblog] * 参考リンク [#reference] - [http://www.jroller.com/page/santhosh?entry=tweaking_jtable_editing Santhosh Kumar's Weblog : Santhosh Kumar's Weblog] - [[JTableのCellRendererにJComboBoxを設定>Swing/ComboCellRenderer]] -- セルの表示にも`JComboBox`を使用する場合は`JComboBox`を継承するセルレンダラーを使用する - [[JComboBoxセルエディタのドロップダウンリストを編集開始直後は表示しないよう設定する>Swing/CellEditorTogglePopup]] * コメント [#comment] #comment #comment