将一个JTextArea替换为另一个

时间:2011-04-26 15:02:49

标签: java user-interface 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中的任何内容都没有变化。这样做有更好/更正确的方法吗?

2 个答案:

答案 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组件的第二个问题。我再次问你为什么要这样做。在您的上一个问题中没有要求,我怀疑在这个问题中是否需要它。你有某种设计问题。