我可以通过单击 java 中第一帧中的按钮将记录插入第二帧吗? (摇摆)

Can i insert records into a second frame by clicking on a button in the first frame in java ?? (Swing)

我玩 Java Swing 有一段时间了。我一直在尝试通过单击第一帧中的按钮将记录插入第二帧。但到目前为止都没有成功。 这是作用于 thr 按钮的代码 clicked.I 得到 javaNullPointerException 错误。

 private void submitActionPerformed(java.awt.event.ActionEvent evt) {                                       

    try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/kirty", "root", "11223344");
    PreparedStatement ps = con.prepareStatement("select * from employee where id =?  ");
    String g = String.valueOf(ptf.getPassword());

    ps.setInt(1, Integer.valueOf(g));
     ResultSet rs = ps.executeQuery();
     int count =0;
    while (rs.next())
    {

        if ( String.valueOf((ptf.getPassword())).equals (rs.getString(1))&&(utf.getText()).equals (rs.getString(2)))
                {
                   count =3;
                   break;
                }


    }
   if (count == 3)
   {
                JOptionPane.showMessageDialog(new frame3(),"Welcome to Database " + (utf.getText()));
                Database n = new Database();
                frame3 b = new frame3();

                 n.setVisible(true);
                this.setVisible(false);
                DefaultTableModel model = (DefaultTableModel)n.tab1.getModel();
    while(rs.next())
        {
            model.addRow(new String[]{rs.getString(1),rs.getString(2),rs.getString(3)});
        }
                con.close();
            }

      else{
            JOptionPane.showMessageDialog(new frame3(), "User doesn't exist!","Error Message", JOptionPane.ERROR_MESSAGE);

                   con.close(); }


    }

    catch(Exception e)
    {
        JOptionPane.showMessageDialog(new frame3(), e , "Error Message" ,JOptionPane.ERROR_MESSAGE);  
    }

点击按钮后,如果提交了正确的信息,第二个框架会弹出我已经包含在其中的 table,但 table 仍然是空的。我已经尝试了很多(虽然没有得到老师的帮助),但无法捕捉 prob.I 没有对 NetBeans 生成的第二帧代码进行任何更改。正如我所说,我得到了 javaNullPointer 异常。另外,我想澄清一件事。 tab1 是我在第二个 class 中声明的第二个框架中插入的 table。我可以使用“。”访问tab1吗?正如我已经完成的那样,第二个 class 对象的运算符。

符号如下:

*emplpoyee - table 在我的数据库中 *数据库 - 我的第二个 class 包含第二个框架,其中包括 table

*请理解我还没有完全掌握 Swing,我只是停留在基本步骤的入门者。

正确的做法是在第二帧(可能是帧本身)中设置一些东西作为第一帧按钮上 activity 的侦听器,或者更好的是,一些抽象实体是与视图完全无关。这样,工作流程是:

  • 按钮更改了它引用的某些对象;
  • 该对象触发其侦听器;
  • 第二个框架(它是一个侦听器)对更改做出反应。

您可以将所需的字段设置为 public 并且主要是静态的 class 变量,并在您需要的事件发生时,例如,如果您单击一个按钮,将此变量更新为您需要的值,然后在第二帧你可以称之为 YourFirstFrame.YourClassVarinFirstFrame //现在做点什么