2013-09-21 68 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