0

我有一个独立的应用程序,其中有一个 Jtable。在我的表格中,当我键入文本时,Textarea 的高度应随文本动态增加。我怎样才能做到这一点?有人可以帮我举个例子吗?

谢谢你柴坦亚

4

1 回答 1

1

您的问题并不清楚 - 您使用的是 JTextArea 还是 TextArea?它含糊不清的原因是人们通常不会混合和匹配轻量级和重量级框架(例如,将 awt 组件放在 swing 组件中)。

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

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

http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html#doclisteners

我认为您需要做的是侦听更改,并且每当将某些内容添加到文件中时,调用 getLineCount() 方法,并将其与 getRows() 方法进行比较。如果超过阈值,则使用 setRows() 调用来增加行数。

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

于 2009-09-30T11:25:22.567 回答