2

我正在开发一个应用程序,它有一个需要多行单元格的 JTable。因此我扩展了 JTextArea 并且一切都显示出来了,但是当我尝试编辑一个单元格时。文本显示为单行,编辑后变为多行。我希望文本在编辑过程中保持多行。有没有办法做到这一点?

4

1 回答 1

8

使用 JTextArea(而不是使用 JTextField 的默认行为)创建TableCellEditor并将其设置为 JTable。

如果您愿意,也可以使用JEditorPane来支持文本样式。

---- 编辑2 ----

新的 TableCellEditor:

 class MyTableCellEditor extends AbstractCellEditor implements TableCellEditor {

 JComponent component = new JTextArea();

 public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
 int rowIndex, int vColIndex) {

 ((JTextArea) component).setText((String) value);

 return component;
 }

 public Object getCellEditorValue() {
 return ((JTextArea) component).getText();
 }
 }
于 2012-09-11T22:07:32.220 回答