在我的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中没有任何变化。有更好/正确的方法吗?
您应该用新的文本替换文本区域的文本。
newTextArea.setText(oldTextArea.getText())
或者简单地通过放置新文本
newTextArea.setText("new text")
ta = ta1;
如果您希望在GUI中显示某个组件,则需要将该组件添加到GUI中(…(。
panel.add(ta1);
panel.revalidate();
panel.repaint();
更改引用不会向GUI添加组件。
这是您的第二个问题,试图利用变量的引用来访问GUI组件。我再次问你为什么这么做。这在你上一个问题中不是必需的,我怀疑这在这个问题中是必需的。你有某种设计问题。