Java 登入窗口,跳转后开启下一个界面,然后关闭本窗口 ,可是出现所有窗口都关闭了。

try{
if(pass.equals("A")){
new windows1();
this.dispose();
}
else {
JOptionPane.showMessageDialog(this, "密码错误");
}
}
catch(Exception e1){
JOptionPane.showMessageDialog(this, "错误");
}

第1个回答  推荐于2018-03-01
setDefaultCloseOperation(JFrame.EXIT_ON_CLOES)会让整个程序都退出
JFrame.DISPOSE_ON_CLOSE只让当前的窗口关闭而已追问

我的代码里没有这段 亲

追答

在这个窗口类里使用setDefaultCloseOperation()方法。。。。。

追问

还是不行 我试过了 没有this.dispose(); 两个窗体都显示者 我关闭其中一个 另一个也跟着关了。
有this.dispose(); 我跳转过去后秒退出

追答

你在哪个窗口类中添加的这个要关闭的窗口,就在哪个窗口类中使用这个方法。
比如窗口类F1中写了this.add(F2),而F2就是要关闭的窗口,那在F1里要写上F2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

追问

谢谢 我解决了 用this.setVisible(false);解决的

追答

这只是不显示,并不是关闭啊。当然你也可以用setVisible(true)把它重显示过来

本回答被提问者和网友采纳
第2个回答  2017-08-21
需要所有的代码,从以上代码看不出问题。请贴出你这个工程中所有相关代码。
第3个回答  2017-08-24
你用的是 swing?
第4个回答  2014-01-24
new windows1();这个new出来后有调用show方法或setVisible(true)吗?
相似回答