在我的GUI中,在JScrollPane中有一个附加到容器的JTextArea。
ta = new JTextArea();
jsp = new JScrollPane(ta);
container.add(jsp);
我希望能够将此JTextArea替换为另一个JTextArea,例如
JTextArea ta1 = new JTextArea("New text area");
ta = ta1;
ta.repaint();
然而,当我重新分配这个JTextArea时,GUI中的任何内容都没有变化。这样做有更好/更正确的方法吗?
答案 0 :(得分:1)
你应该用新的文本替换textarea的文本。
newTextArea.setText(oldTextArea.getText())
或只是按
添加新文字newTextArea.setText("new text")
答案 1 :(得分:1)
ta = ta1;
如果您希望在GUI中显示组件,则需要将组件添加(...)到GUI。
panel.add(ta1);
panel.revalidate();
panel.repaint();
更改引用不会向GUI添加组件。
这是您尝试使用变量引用来访问GUI组件的第二个问题。我再次问你为什么要这样做。在您的上一个问题中没有要求,我怀疑在这个问题中是否需要它。你有某种设计问题。