Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как закрыть окно JFrame?

Neo hz Ученик (96), на голосовании 1 год назад
ТАКАЯ ситуация (условно):
 class window extends JFrame {
window(String title) {
super(title);
setBounds(a, b, c, d);
JButton btn = new JButton();
btn.setBounds(x, y, z, e)
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

}
)};
setVisible(true);
}
}
class Main {
public static void main(String[] args) {
window("test");
}
}
и мне нужно чтоб по нажатию на кнпку btn у меня закрывалось ОКНО (не System.exit(0)) и там что то далее происходило. как это сделать?
Голосование за лучший ответ
Оракул Оракул (62095) 2 года назад
Добавить обработчик закрытия. В конце все равно будет System.exti(0), т.к. это и есть закрытие. А перед этим добавляйте свои действия.
 this.addWindowListener(new WindowAdapter() { 
public void windowClosing(WindowEvent e) {
// do something
System.exit(0);
}
});
SchweikМыслитель (6140) 2 года назад
по хорошему надо бы вообще без System.exit().
frame.setDefaultCloseOperation( WindowConstants.DO _NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
frame.setVisible(false);
frame.dispose();
}
});
Александр Искусственный Интеллект (301742) 2 года назад
ваша привычка давать классам такие названия вас же и погубит...
Похожие вопросы