我无法让 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);
}
}
我试过在构造函数中设置文本区域文本或行和列,但都不起作用。这让我很头疼。有什么想法吗?
最佳答案
设置滚动 Pane 而不是文本区域的首选大小。
关于java - JScrollPane 中 JTextArea 上的滚动条不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2687023/