【问题标题】:Assigning another class variable value to another class Variable将另一个类变量值分配给另一个类变量
【发布时间】:2013-05-04 16:38:00
【问题描述】:

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

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

这是我所做的:-

     private String firstname;

     public String getfirstname() {
          return firstname;
     }

// 我已经通过文本字段将输入输入到 firstname 变量中,但我没有在这里显示。

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

    String firstname = patient.getfirstname();

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

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

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

在单选按钮选择部分,如果用户选择住院护理并单击第一个表单中的注册按钮,则会打开第二个表单(住院护理表单)。

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

这里是我初始化患者变量的地方。

   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;
    }

【问题讨论】:

  • 我打赌patientnull
  • @jlordo 是的,你是对的,删除我的评论以避免混淆
  • 再次,您在哪里初始化患者变量??
  • 在具有此代码的类中,patient.getfirstName(); 请告诉我们您在何处声明和初始化患者变量,同样仅在此类中。

标签: java swing arraylist nullpointerexception runtime-error


【解决方案1】:

患者为空,而不是名字。如果 firstname 为 null,则该方法将简单地返回 null 而不会引发错误。如果患者为空,但您会收到空指针异常,因为您试图访问空对象的方法 (getfirstname())。

【讨论】:

  • 非常感谢。我使用了 set 方法而不是 get 方法并让它工作了。
【解决方案2】:
      String firstname=patient.getfirstname();

这里的病人是空的,所以你得到了 java.lang.NullPointerException。请检查您的设置是否正确。

您能否发布您的代码。以便我们为您提供帮助。

【讨论】:

  • 在第一个表单按钮寄存器中,我这样做是为了通过数据字段获取用户输入。私人无效 btnregisterpatientActionPerformed(java.awt.event.ActionEvent evt) { firstname=txtfirstname.getText();在单选按钮选择部分,如果用户选择住院护理并单击第一个表单中的注册按钮,则会打开第二个表单(住院护理表单)。
  • @Shehan.W:用代码更新您的原始帖子,而不是在评论中。显示您认为可能正在初始化患者变量的位置。
  • `private void btnregisterpatientActionPerformed(java.awt.event.ActionEvent evt) { firstname=txtfirstname.getText();'你可以做这样的事情 'FormSecond pageSecond=new FormSecond (firstname); pageSecond.setVisible(true);处置();'
猜你喜欢
  • 1970-01-01
  • 2013-11-21
  • 2015-08-30
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
相关资源
最近更新 更多