Java 如何动态增加jtable中Textarea的高度

Java 如何动态增加jtable中Textarea的高度,java,jtable,jtextarea,Java,Jtable,Jtextarea,我有一个独立的应用程序,其中有一个Jtable。在我的表格中,当我键入文本时,文本区域的高度应随文本动态增加。我该怎么做? 有人能帮我举个例子吗 谢谢你 Chaithanya您的问题不清楚-您使用的是JTextArea还是TextArea?它模棱两可的原因是人们通常不会混合使用轻型和重型框架(例如,将awt组件放在swing组件中) 如果是JTextArea,我认为最好的选择可能是使用DocumentListener DocumentListener myListener = ??; JText

我有一个独立的应用程序,其中有一个Jtable。在我的表格中,当我键入文本时,文本区域的高度应随文本动态增加。我该怎么做? 有人能帮我举个例子吗

谢谢你
Chaithanya

您的问题不清楚-您使用的是JTextArea还是TextArea?它模棱两可的原因是人们通常不会混合使用轻型和重型框架(例如,将awt组件放在swing组件中)

如果是JTextArea,我认为最好的选择可能是使用DocumentListener

DocumentListener myListener = ??;
JTextArea myArea = ??;
myArea.getDocument().addDocumentListener(myListener);

我认为您需要做的是侦听更改,无论何时向文件中添加内容,都要调用getLineCount()方法,并将其与getRows()方法进行比较。如果超出阈值,则使用setRows()调用增加行数


可能需要提交某种类型的UI更改,尤其是向上传播到JTable。

是由更改字体大小/类型或键入多行文本(例如键入/检测“\n”字符)触发的动态行为吗?通过键入多行文本,textarea高度应动态增加如果您是指textarea,它看起来不像TextArea API提供了一种查询TextArea中当前有多少行的方法。如果是这样的话,您最好使用JTextArea(不管我怎么建议),并使用上面概述的策略。