2009-09-30 105 views
0

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

感谢你 Chaithanya

+0

动态行为是由更改字体大小/类型还是通过键入多行文本(例如键入/检测'\ n'字符)触发的? – 2009-09-30 11:28:46

+0

它通过输入多行文本,textarea高度应该动态增加 – chaithu 2009-09-30 11:33:52

回答

1

这不是从你的问题清楚 - 您使用一个JTextArea或文本区域?不明确的原因是人们通常不会混合和匹配轻量级和重量级框架(例如,将swing组件放在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。

+0

如果您的意思是TextArea,它看起来不像TextArea API为您提供查询TextArea中当前有多少行的方法。 如果是这样的话,最好使用JTextArea(我会推荐不管),并使用上面列出的策略。 – I82Much 2009-09-30 13:17:41

相关问题