2016-04-28 67 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

很酷很棒,我很高兴你解决了你的问题 –