我可以通过单击 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
//现在做点什么
我玩 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 //现在做点什么