我正在用 Java Swing 创建一个学生数据库项目。现在我创建了许多 JFrames 。例如,如果我想添加一个新学生,则会出现一个新框架,其中将包含一些文本字段和按钮,现在我想让最后一个 JFrame 消失。我使用 dispose() 方法关闭正在运行的 JFrame ,并为下一帧使用 .setVisible(true) ,我对下一帧也做了同样的事情,当添加学生帧的工作结束时,它将返回旧帧JFrame,我用同样的程序,结果Frame并没有消失,只有运行我的程序后的第一帧消失了,其他的都没有,这是第一个代码
btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try{
frame.dispose();
frame.setVisible(false);
AddStudent add=new AddStudent();
add.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
}
});
第二个代码是
btnAddStudent = new JButton("Add Student");
btnAddStudent.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//int action=JOptionPane.showConfirmDialog(null, "Do You Really Want To Add This Studen?","Delete",JOptionPane.YES_NO_OPTION);
//if(action==0){
try{
frame.dispose();
frame.setVisible(false);
Admin admin=new Admin();
admin.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
//}
}
});
现在,当我从第一帧到第二帧时,第一帧消失了,当第二帧的工作结束并且我第一帧到来时,第二帧并没有消失。两个框架都在不同的类别中。任何解决方案?对不起,我的英语不好