我需要创建一个带水平和垂直滚动的textarea。我做了以下事情:
public class Standard extends JFrame {
public static void main(String[] args) {
Standard frame = new Standard();
}
JPanel panel = new JPanel();
JTextAreaWithScroll body = new JTextAreaWithScroll(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
Standard() {
super("Standard");
setSize(800, 600);
setLocation(300, 50);
panel.setLayout(null);
panel.add(body.getScrollPane());
getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
和
class JTextAreaWithScroll extends JTextArea {
private JScrollPane scrollPane;
public JTextAreaWithScroll(int vsbPolicy, int hsbPolicy) {
scrollPane = new JScrollPane(this, vsbPolicy, hsbPolicy);
}
public JScrollPane getScrollPane() {
return scrollPane;
}
}
但是当我运行该文件时没有显示任何内容。我该怎么办? 谢谢
答案 0 :(得分:0)
绝对不需要扩展JTextArea来使用JScrollPane。
基本代码是:
JTextArea textArea = new JTextArea(5, 20); // specify rows and columns
JScrollPane scrollPane = new JScrollPane( textArea );
panel.add( scrollPane );
此外,不要为您的面板使用空布局,因为滚动窗格不会出现,因为布局管理器负责确定textarea和scrollpane的大小。
事实上,你甚至不需要一个小组。只需将scrollPane直接添加到框架中即可。