我有一个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);
}
我现在想让文本字段成为多行,所以我尝试用JTextArea替换JTextField。但是没有DefaultCellEditor(JTextArea)的构造函数。
那么:如何在JTable中编写可编辑的多行字段?
注意:我也查看了PopupEditor中的解决方案,但是当我用JTextArea替换JTextField时,这也有同样的问题。