2013-05-04 335 views
-1

我有2个数组在2个不同的jframes(将记录存储为对象),我也有2个数组的单独属性。 我想要做的是,当用户在第一个表单中输入详细信息时,如果用户选择住院病人时选择了单选按钮选择,我打开第二个表单,并让用户以该表单的形式输入住院病人护理详细信息。当用户点击住院病人护理表格中的注册表时,我将第一个表格中输入的名字,姓氏详细信息导入到第二个表格以放入住院护理阵列(第二个阵列)。另一个类变量赋值给另一个类变量

我试过使用get/set方法来获取存储在名字中的值,但我得到一个错误,称为“线程中的异常”AWT-EventQueue-0“java.lang.NullPointerException”。

这里是我做了什么: -

 private String firstname; 

    public String getfirstname() { 
      return firstname; 
    } 

//我有通过文本字段输入到名字变量,但我还没有在这里显示。

在第二种形式中,我使用get方法并尝试将其分配给另一个变量。

String firstname = patient.getfirstname(); 

在第二种形式中,我使用get方法获取存储在firstname变量中的值,但是我的程序崩溃了。

在第一个表单按钮寄存器中,我这样做是为了通过数据字段获取用户输入。

private void btnregisterpatientActionPerformed(ActionEvent evt) { 
    firstname=txtfirstname.getText(); 

和在如果用户选择住院治疗并单击在所述第一形式的登记按钮的单选按钮选择部分,它打开第二形式(住院治疗形式)。

患者变量是注册新类的对象。我让它使用register_newpatient类中的方法。

这里是我初始化患者变量的地方。所以你得到显示java.lang.NullPointerException

JFrame frame=new JFrame(); 

    Register_newpatient patient=new Register_newpatient(); 

    static ArrayList<patient_class>inpatientpatientlist=new ArrayList<patient_class>(); //created a seperate array for inpatient care. 

    public ArrayList<patient_class> getinpatientsarray() //used a method to return the array 
    { 
     return inpatientpatientlist; 
    } 
+2

我敢打赌'病人'是'null'。 – jlordo 2013-05-04 16:45:31

+0

@jlordo是的,你是对的,删除我的意见,以避免混淆 – 2013-05-04 16:53:31

+1

再次,***你在哪里初始化患者变量*** ?? – 2013-05-04 16:57:46

回答

0

患者为空,不是名字。如果firstname为null,那么该方法只会返回null而不会引发错误。如果患者为空,但是由于您试图访问空对象的方法(getfirstname()),您会得到空指针异常。

+0

thx很多。我使用了set方法而不是get方法并使其工作。 – 2013-05-04 19:23:27

0
 String firstname=patient.getfirstname(); 

这里病人为空。请检查您是否正确设置。

你可以发布你的code.so,我们可以帮助你。

+0

在第一个表单按钮寄存器中,我这样做是为了通过数据字段获取用户输入。 private void btnregisterpatientActionPerformed(java.awt.event.ActionEvent evt) firstname = txtfirstname。的getText(); 并且在单选按钮选择部分中,如果用户选择住院护理并且单击第一表格中的注册按钮,则其打开第二表格(住院护理表格)。 – 2013-05-04 16:53:04

+2

@ Shehan.W:用代码更新原始帖子,而不是发表评论。显示您认为的位置*您可能正在初始化患者变量。 – 2013-05-04 16:54:16

+0

'private void btnregisterpatientActionPerformed(java.awt.event.ActionEvent evt){firstname = txtfirstname.getText();'你可以做这样的事情'FormSecond pageSecond = new FormSecond(firstname); pageSecond.setVisible(真);处置();” – minion 2013-05-04 17:36:45

相关问题