2013-09-21 64 views
0

我是非常新的摆在Java中,并有以下问题:从另一个类更新JTextfield? [Java]

我有一个文本字段的内容应该改变,当我添加一个鼠标监听器到另一个按钮,例如更改文本,这是工作:

private void charToggleMousePressed(java.awt.event.MouseEvent evt) {           
    // TODO 
    if (evt.getButton() == 1) { 
     sendCommandField.setText("LOL This is working"); 
    } 

}  

但我想改变在这种情况下,另一大类的文字,所以我创建了(在文本字段是类当然)应该是一个二传手:

public void setCommandFieldText(String str) { 
    sendCommandField.setText(str); 
} 

但它不起作用。我设置好的文本从另一个类的方法:

RemoteFrame frame = new RemoteFrame(); 
frame.setCommandFieldText("This should be in the text field now."); 

我知道,已经有数以千计的这个话题的问题,但我没有什么工作,我希望你能帮助我反正。

+0

这将是很好,如果你能分享这两个类。 – Optional

+0

你确定这个另一个类是不是从单独的线程调用? – Archer

+0

为了尽快提供更好的帮助,请发布[SSCCE](http://sscce.org/)。 –

回答

0

尝试了这一点:

  1. 储存于您拥有该文本框前面类的静态变量的新值。
  2. 然后将该字符串值设置为类的构造函数中的testfield。
+1

什么?静态变量?为什么H? – Optional

+0

只是一个选项。 Class.variableName = value,可以帮助 –

+0

这似乎没有帮助。我创建了一个'system.out.println(sendCommandField.getText())'语句,其结果是:我看到了稍后我应用的控制台中的文本,但没有发生在我的框架中。所以它似乎已经被应用,但是框架/显示器需要更新? – Ercksen