2012-08-25 43 views
1

我已經構建了此應用程序,並試圖運行它,但無法從JTextField獲取數據。我不知道什麼是錯的做...下面是相關的代碼...Java - 無法從文本字段中獲取數據

構建JTextFeild:(文件Main.java)

public class Constructor extends javax.swing.JFrame { 

    public Constructor() { 
     initComponents(); 
    } 

    private void initComponents() {  
     refernce = new javax.swing.JTextField(); 
     /*Some other code in here*/ 
    } 

    private javax.swing.JTextField refernce; 
     /*Some other code in here*/  
    } 

獲取從文本字段中的數據:(文件Save.java)

public class Save { 

    /*Some other code in here*/ 

    private javax.swing.JTextField refernce; 

    String refernceText = refernce.toString(); 

} 

錯誤報告:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
at Save.<init>(Save.java:79) 
at Constructor.saveMouseClicked(Constructor.java:444) 
at Constructor.access$200(Constructor.java:15) 
at Constructor$3.mouseClicked(Constructor.java:210) 
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270) 
... (it carry on(ask if you need it)) 

所以我在哪裏出了錯???還有沒有語法錯誤等...

回答

3

這裏有一個問題,

public class Save { 
    private javax.swing.JTextField refernce; <---- ISSUE 
    ... 
    String refernceText = refernce.toString(); 
} 

參考領域類保存null初始化。

您必須將參考JTextFieldConstructor類的對象引用傳遞給Save類。

例如,

public class Save { 
    private javax.swing.JTextField refernce; 
    public Save(javax.swing.JTextField refernce){ 
    this.refernce=refernce; 
    } 
    ... 
    //and use JTextField in your methods 
    void testMethod() { 
    if(refernce!=null){ 
    String refernceText = refernce.getText(); 
    ..... 
    } 
    } 
} 
1

它看起來像你聲明引用類型JTextField類(保存,但你從來沒有初始化它的引用(它的方式是一個變量的可怕名稱)。這就是爲什麼你得到一個NullPointerException。

你在Constructor類中新建它。

在構造函數類中新建了JTextField之後,需要將JTextField變量作爲參數傳遞給Save類的構造函數或保存類的方法,然後使用它獲取來自文本字段的文本。

另外,您不想在JTextField上調用toString。 toString不會讓你在文本字段中的數據。你想getText()。

+0

實際上,「refernce」(而不是「參考」)是一個變量的確定名稱,尤其是如果它包含其藍本名爲「refernce」的價值。 –

+0

@ChrisGerken可能是,但懷疑它是谷歌不提供任何真實的:_refernce可能拼寫錯誤。瞭解更多信息,請訪問:http://www.dumbtionary.com/word/refernce.shtml :-) – kleopatra

相關問題