frmA上的JTextField输入了数字,关闭frmA后再打开frmA,Text上的数字依然保留,而没有被清空,这是为什么?应该如何彻底关闭frmA?我用的是this.setDefaultCloseOperation(EXIT_ON_CLOSE或DISPOSE_ON_CLOSE)都不行!
对了,我new frmA()用的是单态类,即静态的,和这有关系吗?代码如下:private static FrmA frm = null;private FrmA() {……省略100行} public static synchronized JFrame getFrm() {
if (frm == null)
frm = new FrmA();
return frm;
}
对了,我new frmA()用的是单态类,即静态的,和这有关系吗?代码如下:private static FrmA frm = null;private FrmA() {……省略100行} public static synchronized JFrame getFrm() {
if (frm == null)
frm = new FrmA();
return frm;
}
这个不能用吧,你用这个选项,关闭窗口的话程序就彻底退出了。DISPOSE_ON_CLOSE选项只是隐藏窗体并释放资源。监听frmA的窗口关闭事件或者在获取frmA时将JTextField.setText("");
Component[] comp=this.getComponents();
for(Component cp:comp){
if(cp instanceof JTextField){//其它要复原的字段,照搬吧
((JTextField)cp).setText("");
}
}
出鬼了 除非