JTable. Примеры

Как в JTable установить редактор ячеек в таблицу?

Очень просто. Нужно реализовать интерфейс TableCellEditor, имеюший всего один метод:

public Component getTableCellEditorComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row, int column)

После реализации интерфейса мы получим класс, который и будет использоваться для редактирования ячейки таблицы. Но не всей таблицы, а только ячеек того столбца, для которого мы установим наш редактор. Имеется класс DefaultCellEditor, который реализует интерфейс TableCellEditor. Этот класс позволяет в качестве редакторов ячеек использовать JTextField, JCheckBox, JComboBox. Прямо сейчас установим JComboBox в качестве редактора ячеек в последний столбец таблицы из раздела “Как в JTable установить своего рисовальщика?”. Изменим код конструктора TableEx() так (новый фрагмент выделен звёздочками):

Правой кнопкой по значку класса TableEx -> Run As -> Java Application: Как в JTable установить редактор ячеек в таблицу

получаем вот такой результат.