Как добавить JComboBox в ячейку JTable?
Я пытаюсь добавить JComponents в JTable Cells. Реализовать ли CellRenderer или CellEditor?
3 ответа
Вам нужен собственный редактор, который будет возвращать JComboBox (или любой другой компонент, который вы хотите использовать). Вы должны проверить учебник Sun для JTable, он содержит пример того, как использовать JComboBox в качестве редактора. Если вы также хотите использовать JComboBox в качестве средства рендеринга, руководство также применимо к этому.
Вы также можете сделать это с помощью DefaultCellEditor, передав в конструктор экземпляр JComboBox (или JCheckBox или JTextField).
1- Создать JCombobox
и вставьте в него нужную информацию, например так:
JComboBox<String> sport = new JComboBox<String>();
sport.addItem("foot");
sport.addItem("hand bool");
sport.addItem("****");
2- Создать JTable
и установите режим таблицы для этой таблицы, что-то вроде:
Vector<String> title = new Vector<String>
title.add("id");
title.add("sport");
Vector<Vector<String>> rows = new Vector<Vector<String>>();
rows.addItem("1");
rows.addItem("2");
JTable table = new JTable(rows, title);
3- Вы помещаете JComboBox в ячейки JTable следующим образом:
table.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(sport));