Я пишу графический интерфейс.Я хочу напечатать что-нибудь после закрытия.Но WindowListener
не работает.Я пишу окно, затем я хочу иметь boolean
, чтобы отметить, что окна закрыты.Поэтому после того, как я смогу использовать это boolean
в предложении if для записи следующего оператора, который должен быть выполнен после закрытия окон.
public class MyFrame extends JFrame implements WindowListener {
private boolean close=false;
MyFrame() {
this.close=false;
setSize(300,250);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
addWindowListener(this);
// after help, I've added addWindowListener although still don't
//work
}
public void windowOpened()/windowIconified()/windowDeiconified()...
public void windowClosing(WindowEvent e) {close=true;}
public void windowClosed(WindowEvent e) {close=true;}
}
public class MyFrameControl {
MyFrame setframe() {
MyFrame fr = new MyFrame();
fr.setVisible(true);
return fr;
}
}
public class test {
public static void main(String args[]) {
MyFrameControl frameCtrl= new MyFrameControl();
MyFrame tmpFrame = frameCtrl.setframe();
if(tmpFrame.close==true) {
System.out.println("close is true");
}
}
}
Когда я закрываюJFrame
/ MyFrame
, не должен ли логический close
быть true
при выполнении строки печати?Все еще не может работать под JFrame после добавления addWindowListener, есть ли какое-либо решение под JFrame, кроме переключения на JDialogue?