2013-07-24 63 views
0

我很新的Java和我想一個JTextField傳遞到另一個階級。 這裏是我的代碼:傳遞的JTextField到另一個類

方法從SellWindow類發送的JTextField:

public JTextField sendTextField(){ 
    return addItemField; 
} 

方法得到的JTextField在EnterAction類:

public JTextField getItemField(){ 
    SellWindow field=new SellWindow(); 
    addItem=field.sendTextField(); 
    return addItem; 
} 

執行的數據EnterAction類:

public void enterData(){ 
    System.out.println(this.getItemField().getText()); //output blank 
    System.out.println(this.addItem); //output "null"   
} 

我不知道實際問題在哪裏。執行代碼後,它會按照代碼註釋中的說明提供以下輸出。如果有人能解決這個問題,這將是非常有幫助的。我對Java非常陌生,這是我的第一個程序。

+0

在這些行中: SellWindow = new SellWindow(); addItem = field.sendTextField(); 要創建新的SellWindow對象,您試圖訪問其文本字段,它創建的對象後,很可能是空(NULL)。 – FazoM

+1

我很難相信'enterData()'會輸出一個空行與第二行的第一行輸出'null'。你能構建一個[獨立示例](http://sscce.org/#selfcon)嗎? – Dukeling

+0

*「我很新的Java和這是我的第一個程序。」 *開始編碼的命令行程序!當你接觸GUI編程時,對此的回答應該是顯而易見的。除非你是19世紀的英國劇院老闆,否則它被拼寫成'節目' - 通常以這種方式拼寫(即不正確)。 –

回答

0

這不是完全清楚你想要做什麼,但我可以告訴你有一個SellWindow幀和EnterAction框架,並要在二者之間傳遞用戶輸入。我看到的一個問題是,在getItemField方法中,您正在創建一個新的SellWindow實例,但沒有顯示它或允許用戶與它進行交互。相反,我會使SellWindow成爲一個JDialog,並且一旦用戶關閉對話框,就可以獲得輸入。試試這個:

public JTextField getItemField(){ 
    SellWindow field=new SellWindow(null, true); 
    field.setVisible(true); 
    addItem=field.sendTextField(); 
    return addItem; 
} 
相關問題