我搜索了有关将滚动条附加到文本区域的信息,并找到了一些答案。尝试按照建议中的说明进行修复,但似乎仍然无效。 我的文本区域变得越来越长,即使我试图制作一个静态文本区域。
想知道我在这里做错了什么:
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
public class Ovning20 extends JFrame {
private JPanel p1 = new JPanel();
private JTextArea ta1;
JScrollPane scroll;
public Ovning20()
{
setSize(400,200);
setLocation(500, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
ta1 = new JTextArea();
ta1.setEditable(true);
ta1.setBorder(new TitledBorder(new EtchedBorder(), "Skriv in något:"));
scroll = new JScrollPane(ta1, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
ta1.setAutoscrolls(true);
ta1.setColumns (20);
ta1.setRows(3);
ta1.setLineWrap (true);
ta1.setWrapStyleWord (true); //default
p1.add(ta1);
p1.add(scroll);
add(p1);
setVisible(true);
}
public static void main(String[] args) {
new Ovning20();
}
}
最佳答案
删除语句
p1.add(ta1);
这是将文本区域添加到面板 p1
并有效地将其从其滚动 Pane 父级中移除(因为组件只能有一个父级组件)
关于Java TextArea 和 JScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656334/