如何从另一个类输入JtextField

时间:2013-06-05 16:51:27

标签: java jdbc jbutton jtextfield

所以我要做的是当我在JTextField中输入主要ID 并点击“继续”时,将会显示主要ID ,将其存储为另一个表中的新记录。 单击“继续”后会发生的情况是,它会将您带到另一个应用程序,其中主要ID 显示在上一个应用程序中。

我的问题是它不会让我显示文字。我的错误说:

non-static variable pat_id cannot be referenced from a static context

如何绕过这个?

这是我的代码:

private void proceedActionPerformed(java.awt.event.ActionEvent evt) {                                        
    try {

        String sql = "Insert into medicalRec (patient_id)" + " values (?)";

        pst = conn.prepareStatement(sql);
        pst.setInt(1, Integer.parseInt(pat_id.getText()));
        pst.execute();
        new medRec().setVisible(true);

        String sql2 = "select * from PATIENT where patient_id=?";
        pst = conn.prepareStatement(sql2);
        rs = pst.executeQuery();
        rs = pst.executeQuery();
        if (rs.next()) {

            String add0 = rs.getString("patient_id");
            medRec.pat_id.setText(add0);
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

1 个答案:

答案 0 :(得分:0)

这里的困惑似乎与你的medRec课程有关。在没有看到所有代码的情况下,我可以打赌medRec是一个类名,pat_id是一个看起来像这样的实例变量:

public class medRec {
     ...
     public JTextField pat_id = new JTextField();
     ...
     public void setVisible(boolean b){ ... }
}

这意味着您应首先获取该类的实例,将其保存为变量并操作setVisible和pat_id,如下所示:

medRec mr = new medRec();
mr.setVisible(true);
mr.pat_id.setText("abc");