我的JScrollPane在JTextArea周围:
...
errorText = new JTextArea();
errorText.setLineWrap(true);
errorText.setWrapStyleWord(true);
errorText.setPreferredSize(new Dimension(300, 150));
JScrollPane scrollPane = new JScrollPane(errorText);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setBorder(BorderFactory.createTitledBorder("Info Area"));
...
和代码,将文本添加到errorText:
public void setText(String mes) {
e140TEST2.errorText.append(lineNum + ". " + mes + "\n");
lineNum++;
}
添加了几行后(当文本的高度比JTextArea高时),JScrollPane不起作用(文本不脚)。可以是什么?
最佳答案
errorText.setPreferredSize(new Dimension(300,150));
不要硬编码文本区域(或任何组件)的首选大小。首选大小随您添加/删除文本而变化。
而是像这样创建您的文本区域:
textArea = new JTextArea(5, 30);
提供初始大小。