【发布时间】:2020-11-29 03:59:26
【问题描述】:
我一直在尝试将JScrollBar 添加到JTextArea 中,但是当我测试它时,滚动条没有出现。另外,我想最大化文本区域,但即使更改大小值也不会变大。这是我的代码:
class EFrame extends JFrame implements ActionListener {
JLabel jl1, jl2, jl3, jl5;
JTextArea jta;
JPanel jpBase, jpTop, jpm, jpmm, jpmb, jpBottom, jpBBT;
JTextField jtf1, jtf2, jtf3, jtf4, jtf5;
JScrollBar jBar;
JScrollPane jsp;
EFrame() {
setTitle("GUI");
setSize(1000, 1000);
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setMinimumSize(new Dimension(100, 100));
this.setMaximumSize(new Dimension(1920, 1080));
jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jpBase = new JPanel();
jpTop = new JPanel();
jpm = new JPanel();
jpmm = new JPanel();
jpmb = new JPanel();
jpBottom = new JPanel();
jpBBT = new JPanel();
jtf1 = new JTextField(10);
jtf2 = new JTextField(10);
jtf3 = new JTextField(10);
jtf5 = new JTextField(10);
add(jpBase);
jpBase.setLayout(new GridLayout(8, 1));
jpBase.setSize(1000, 1000);
jpBase.add(jpTop);
jpBase.add(jpm);
jpBase.add(jpmm);
jpBase.add(jpmb);
jpBase.add(jpBottom);
jpBase.add(jpBBT);
jpTop.setLayout(new GridLayout(1, 0));
jpm.setLayout(new GridLayout(1, 0));
jpmm.setLayout(new GridLayout(1, 0));
jpBottom.setLayout(new GridLayout(1, 0));
jpBBT.setSize(1000, 1000);
jpBBT.add(jta);
jta.setSize(1000, 1000);
jta.add(jsp);
this.setVisible(true);
}
// ...
}
我做错了什么?
【问题讨论】:
-
好吧,你没有在任何地方构建你的 JTextArea
-
JTextArea 在底部
-
JTextArea 位于底部 - 设置文本区域的大小不会创建文本区域的实例。您的代码不应执行。你应该得到一个 NullPointerException。
标签: java swing jscrollpane jtextarea