将一个JTextArea替换为另一个



在我的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组件。我再次问你为什么这么做。这在你上一个问题中不是必需的,我怀疑这在这个问题中是必需的。你有某种设计问题。

相关内容

  • 没有找到相关文章

最新更新