У меня есть JTable с редактируемыми полями. Работает следующий код:
protected JTable m_table;
protected MyTable m_data;
m_data = new VIPTable(this, title);
m_table = new JTable();
for (int k = 0; k < MyTable.m_columns.length; k++) {
DefaultTableCellRenderer textRenderer = new DefaultTableCellRenderer();
textRenderer.setHorizontalAlignment(MyTable.m_columns[k].m_alignment);
TableCellRenderer renderer = textRenderer;
TableCellEditor editor;
if (k==MyTable.COL_CATEGORY)
editor = new DefaultCellEditor(new JComboBox(MyTable.CATEGORIES));
else
editor = new DefaultCellEditor(new JTextField()); // error with JTextArea
TableColumn column = new TableColumn(k, MyTable.m_columns[k].m_width,
renderer, editor);
m_table.addColumn(column);
}
Теперь я хочу сделать текстовые поля многострочными, поэтому я попытался заменить JTextField на JTextArea. Но конструктора для DefaultCellEditor(JTextArea) нет.
Итак: как закодировать редактируемое многострочное поле в JTable?
Примечание. Я также рассмотрел решение в PopupEditor, но возникает та же проблема, когда я заменяю JTextField на JTextArea.
AbstractCellEditor
, как описано в docs.oracle.com/javase/tutorial/uiswing/components/ - person DSquare   schedule 21.08.2014I also looked at the solution in PopupEditor, but that has the same problem when I replace JTextField with JTextArea.
- зачем вам менять JTextField на JTextArea? Код, представленный там, является полным решением. Здесь нечего менять, если только вы не хотите дополнительно настраивать поведение. - person camickr   schedule 21.08.2014