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

时间:2015-01-12 15:54:38

标签: java mysql swing

我已经在Java Swing上工作了一段时间。我一直试图在第一帧中单击按钮时将记录插入第二帧。但到目前为止一直没有成功。 以下是单击thr按钮的代码。我得到 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);  
    }

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

符号如下:

* emplpoyee - 我的数据库中的表 *数据库 - 我的第二个类包含第二个框架,其中包括表格

*请理解我还没有完全掌握Swing的命令,我只是一个坚持基本步骤的首发。

2 个答案:

答案 0 :(得分:0)

执行此操作的正确方法是在第二帧(可能是帧本身)中将某些内容作为第一帧中按钮上的活动的侦听器,或者更好的是,某些与视图无关的抽象实体一点都不这样,工作流程就是:

  • 按钮会更改一些引用它的对象;
  • 该对象触发其侦听器;
  • 第二帧(听众)对变化作出反应。

答案 1 :(得分:0)

您可以将所需的字段设为public和static,主要是类变量,也可以根据需要的事件,例如,如果单击按钮,将此变量更新为所需的值,然后在第二帧中将其称为       YourFirstFrame.YourClassVarinFirstFrame //现在做点什么