2016-04-28 56 views
1

注意:我有這個問題,並且由Unity3D中的C#解決(沒有數據庫)。如何獲取當前/最新數據(無需初始化)NetBeans?

問題概述

在NetBeans中(爪哇),我有一個這樣的形式:

form input|report and form report

我想從報告表「報告」就像從InputData「報告」從

我創建了2個表單類和1個java類。

「mainCode」 JavaClass

private String name; 
    private int age; 
    private String address; 

當然有setter和getter

「InputData」 JavaFORMClass

mainCode mainCode = new mainCode(); 
    LookData lookData = new LookData(); 

    String name; 
    int age; 
    String address; 
    /** 
    * Creates new form InputData 
    */ 
    public InputData() { 
     initComponents(); 
    } 

    public void setData(){ 
     mainCode.setName(jTextField1.getText()); 
     mainCode.setAge(Integer.parseInt(jTextField2.getText())); 
     mainCode.setAddress(jTextArea1.getText()); 
    } 

    public void getData(){ 
     name = mainCode.getName(); 
     age = mainCode.getAge(); 
     address = mainCode.getAddress(); 
    } 

    public void printData(){ 
     String data = null; 
     data = "BIODATA REPORT \n" 
       + "Your Name : "+name+"\n" 
       + "Your Age  : "+age+"\n" 
       + "Your Address : "+address+"\n"; 
     jTextArea2.setText(data); 
    } 

    public void ClearData(){ 
     String kosong = ""; 
     jTextArea1.setText(kosong); 
     jTextArea2.setText(kosong); 
     jTextField1.setText(kosong); 
     jTextField2.setText(kosong); 
    } 

「LookData」 JavaFORMClass

mainCode mainCode = new mainCode(); 

    String name; 
    int age; 
    String address; 

    public LookData() { 
     initComponents(); 
    } 

    public void getData(){ 
     name = mainCode.getName(); 
     age = mainCode.getAge(); 
     address = mainCode.getAddress(); 
    } 

    public void printData(){ 
     String data = null; 
     data = "BIODATA REPORT\n" 
       + "Your Name : "+name+"\n" 
       + "Your Age  : "+age+"\n" 
       + "Your Address : "+address+"\n"; 
     jTextArea2.setText(data); 
    } 

結論

也許這個問題是因爲我必須創建和初始化這樣

mainCode mainCode = new mainCode(); 

類也正因爲如此,每當我運行程序的類將被重置爲默認值和在形式lookData中,數據將顯示爲空或零。

我已經意識到這一點,並試圖

mainCode mainCode; 
mainCode mainCode = code.mainCode(); 
String name = code.mainCode.name; 

所有的人都給予錯誤

任何人誰知道如何解決這個問題?

謝謝。

我試了一下詳細,因爲我可以,對不起,如果這有什麼問題。

+1

。你需要做的是確保你的兩個表單引用*相同的*對象。你需要一個新的MainCode(),但應該只有一個。 –

回答

1

我想你是想從現有的輸入數據表單中查找保存的記錄,如果當你按下「從另一個表單」按鈕時彈出,然後將mainCode obj傳遞給構造函數LookData。下面是做

LookData代碼的方式:我想你基本上是正確的軌道上

MainCode mainCode; 

    String name; 
    int age; 
    String address; 

    public LookData(MainCode main) { 
     this.mainCode = main; 
     initComponents(); 
    } 

    public void getData(){ 
     name = mainCode.getName(); 
     age = mainCode.getAge(); 
     address = mainCode.getAddress(); 
    } 

    public void printData(){ 
     String data = null; 
     data = "BIODATA REPORT\n" 
       + "Your Name : "+name+"\n" 
       + "Your Age  : "+age+"\n" 
       + "Your Address : "+address+"\n"; 
     jTextArea2.setText(data); 
    } 
+0

我得到的邏輯,但我不知道該怎麼做。來自網絡的每個例子總是用於日食。我試圖改變lookData代碼看起來像上面。但有錯誤信息說「java.lang.NullPointerException」。也許是因爲我沒有通過MainCode Objek進入外觀數據,當我klik「從另一個表單」按鈕。你能告訴我如何將MainCode objek從InputData JavaFormClass傳遞給LookData javaFormClass?謝謝。 –

+0

sory和Thx我的問題解決了,我只需要添加這一行「new LookData(mainCode).setVisible(true);」在那些按鈕上。 –

+0

很酷很棒,我很高興你解決了你的問題 –