2012-02-01 61 views
1

我確實接受這對你們許多人來說是一個愚蠢的問題!首先,我想說的是,就圖形用戶界面而言,我的Java知識是低的!我有一個textFields的問題。我想獲取一個JTextField對象的值並將其顯示在另一個JTextField對象中!這是我嘗試的,但它不工作!使用Java中的JTextField對象

 textField2.setText(textField1.getText()); 

的問題是,我有兩個幀中的對象,並且每個具有一個TextField對象,我想一個值從jTextField1jFrame1的jTextField2中複製到jFrame2的。

+2

它不起作用?代碼中的哪一點是這個代碼片段正在運行?你確定textField1中有一些文本正在運行嗎? – DaveJohnston 2012-02-01 15:34:43

回答

5

問題是有效的,您提供的信息量不是。直到您告訴足夠的細節,以便我們能夠理解錯誤,無法幫助您。

雖然把我的頭腦上的帽子放在上面,但我猜測你的問題是你在程序啓動時使上面的方法調用了上面,並期望如果你更新一個JTextField,另一個會自動更新,但事實並非如此。當你做這樣的判斷:

textField2.setText(textField1.getText()); 

所有你正在做的是將在第一場舉行到第二個字段的字符串。在程序啓動時,這可能爲空,但即使它包含文本,字符串也是不可改變的,即使第一個字段的文本發生更改也不會改變。

如果你想要一個領域始終保持相同的文字等,讓他們共享同一個模型

textField2.setDocument(textField1.getDocument()); // * edited per mKorbel's rec 

如果你對另一方面的目標是獲得從文本一個JTextField並將其放入另一個,但只有當用戶選擇這樣做時,才使用添加到JButton或第一個JTextfield本身的ActionListener(在插入字段時按下Enter鍵來激活它),並在該聽衆中,放置您的代碼行:

textField2.setText(textField1.getText()); 
+1

+1也許http://stackoverflow.com/a/8944839/714968 – mKorbel 2012-02-01 15:44:00

+0

@mKorbel:這就是當我發佈代碼而不進行測試時發生的情況。關於你的建議沒有「maybes」 - 謝謝! – 2012-02-01 15:50:49

+0

我們都感謝(@trashgod),順便說一句,我今天需要這個信息,這個快速回復的原因, – mKorbel 2012-02-01 16:03:46