Java 如何获取当前/上次数据(不初始化)NetBeans?

Java 如何获取当前/上次数据(不初始化)NetBeans?,java,Java,注意:我有这个问题,由Unity3D中的C#解决(没有数据库) 问题概述 在NetBeans(Java)中,我有这样一种形式: 我想要报表中的“报告”,就像从输入数据中的“报告” 我创建了2个表单类和1个java类 “主代码”JavaClass private String name; private int age; private String address; mainCode mainCode = new mainCode(); LookDat

注意:我有这个问题,由Unity3D中的C#解决(没有数据库)

问题概述 在NetBeans(Java)中,我有这样一种形式:

我想要报表中的“报告”,就像从输入数据中的“报告”

我创建了2个表单类和1个java类

“主代码”JavaClass

    private String name;
    private int age;
    private String address;
    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);
    }
    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);
    }
当然还有塞特和盖特

“InputData”JavaFORMClass

    private String name;
    private int age;
    private String address;
    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);
    }
    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);
    }
“LookData”JavaFORMClass

    private String name;
    private int age;
    private String address;
    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);
    }
    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格式中,数据会显示null或零

我已经意识到这一点,并尝试了

mainCode mainCode;
mainCode mainCode = code.mainCode();
String name = code.mainCode.name;
他们都给出了错误的答案

谁知道如何解决这个问题

谢谢


我尽可能详细地尝试过,如果这有问题,我很抱歉。

我想您正在尝试从现有的输入数据表单中查找保存的记录,如果当您按下“从另一个表单查看”按钮时,查找弹出,则将主代码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);
    }

我认为你基本上走对了方向。您需要做的是确保两个表单引用同一个对象。你需要一个
newmaincode()
,但应该只有一个。我知道逻辑,但我不知道怎么做。web上的每个示例都是针对eclipse的。我已经尝试将lookData代码更改为上面的样子。但是有错误消息说“java.lang.NullPointerException”。可能是因为当我点击“从另一个表单查看”按钮时,我没有将主代码对象传递到查看数据中。您能告诉我如何将MainCode对象从InputData JavaFormClass传递到LookData JavaFormClass吗?thx.sory和thx我的问题解决了,我只需要在这些按钮上添加一行“newlookdata(mainCode).setVisible(true);”。