Java 多行JTable单元格在编辑过程中不会多行

Java 多行JTable单元格在编辑过程中不会多行,java,swing,jtable,jtextarea,Java,Swing,Jtable,Jtextarea,我正在开发一个应用程序,它有一个JTable,需要有多行单元格。因此,我扩展了JTextArea,所有内容都显示为noce,但当我尝试编辑单元格时。文本显示在单行中,编辑后变为多行。我希望文本在编辑期间保持多行。 有没有办法做到这一点?使用JTextArea(而不是使用JTextField的默认行为)创建您的JTable并将其设置为您的JTable 如果愿意,还可以使用支持文本样式的 ----编辑2---- 新的TableCellEditor: class MyTableCellEditor

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

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

如果愿意,还可以使用支持文本样式的

----编辑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();
 }
 }

@我重读了答案。它说您应该为TableCellEditor使用JTextArea。据我所知,您正在使用JTextArea作为TableCellRenderer。查看有关渲染器和编辑器的更多信息。从您的问题中我所能理解的是,您使用的是自定义TableCellRenderer,而不是自定义TableCellEditor。如果不是这样,那么您应该尝试调查为什么在编辑单元格时换行符没有传输到编辑器。或者您可以使用其他组件来编辑它。@Igor他的答案是正确的。注意,他说的是
TableCellEditor
,而不是
TableCellRenderer
。编辑器是用户编辑单元格时显示的内容,它与渲染器不同。如果您这样做了,但仍然存在问题,请尝试使用
JTextArea.setRows
在编辑器上设置行数(尽管我认为这不是必需的)。对不起,我的问题。我以为是一样的。那可以解决我的问题。在我选择它作为答案之前,你能在答案中添加一个简短的例子吗。Thanx,Thanx,在等待的时候,我创建了一个我自己的celleditor。这一切都很有效,**除了在编辑单元格后单击鼠标后才添加新行。**无论如何,我会选择你的答案,因为它对过程的描述足够好。你读过教程了吗?如果您这样做了,您将看到编辑器和渲染器之间存在差异。如果您确实阅读了教程,那么您应该知道这一点,并告诉我们您的编辑器和渲染器。这个问题很糟糕,因为它缺少必要的细节。另请参阅。