JScrollPane中JTextArea上的java滚动条不起作用
我无法获取要滚动的JTextArea。我不知道你怎么能把JScrollPane搞砸,但我似乎有,我就是看不到。这都是一个更大项目的一部分,但下面的代码是我如何创建JTextArea并将其添加到JScrollPane的。当您在文本区域边缘之外键入时,滚动条不会出现。将垂直滚动条设置为“始终打开”时,滚动条将不起任何作用
import javax.swing.*;
import java.awt.*;
public class TextAreaTest extends JFrame{
public TextAreaTest() {
super("Text Area Scroller");
Container c = getContentPane();
JTextArea textarea = new JTextArea();
textarea.setPreferredSize(new Dimension(300, 50));
textarea.setLineWrap(true);
textarea.setText("xx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\n");
JScrollPane scroller = new JScrollPane(textarea);
c.add(scroller, BorderLayout.CENTER);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]){
TextAreaTest instance = new TextAreaTest();
instance.setVisible(true);
}
}
我尝试在构造函数中设置文本区域文本或行和列,但这两种设置都不起作用。这让我头疼。有什么想法吗
# 1 楼答案
设置滚动窗格的首选大小,而不是文本区域
# 2 楼答案
其他人的尺寸是对的。另一方面,考虑启动事件调度线程(EDT):
# 3 楼答案
使用这个代码
}