这是我使用netbeans放入程序的textarea。第一张图显示了运行程序时textarea的样子。第二个图像是在我按下一个按钮后显示textarea,该按钮在文本区域添加了大约50个“Hello world”字符串 - 只显示前6个。我需要textarea的高度来动态增加以适应所有这些字符串。有谁知道怎么做?
编辑:我不想要滚动条,所以使用JScrollPane不是一个选项。
答案 0 :(得分:3)
我不会将JTextArea用于除原型之外的任何事情。它具有记事本的苦涩功能。但这取决于你。
我会使用JEditorPane或JTextPane。我知道你不能根据字符大小调整大小,但这是最好的。对于自动换行,你可以做setContentType(“text / html”);并将文本包装在<'p><'/ p>中标签
(注意你仍然使用JScrollPane进行滚动。事实上,滚动窗格适用于任何组件)
查看差异:http://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html
答案 1 :(得分:2)
试试这个http://java-sl.com/tip_text_height_measuring.html
我没有尝试使用JTextArea但是假设它应该可以工作
答案 2 :(得分:1)
在JScrollPane中包含JTextArea
JTextArea textArea = new JTextArea();
JScrollPane scrollArea = new JScrollPane(textArea);
这将根据是否需要滚动来动态更改文本区域