выкинуть message box при закрытие окна

Модератор: Absurd

Ответить
michael
Сообщения: 116
Зарегистрирован: 15 июл 2004, 13:06
Откуда: ISRAEL (ранее - из Литвы)
Контактная информация:

есть главное окно и в нём

Код: Выделить всё

this.addWindowListener(new WindowDestroyer(this));
класс WindowDestroyer

Код: Выделить всё

public class WindowDestroyer extends WindowAdapter implements ActionListener
{
	private ActionListener c;
	private MessageBox msg; //my class
	public WindowDestroyer(ActionListener c)
	{
		this.c=c;
	}
	
    public void windowClosing(WindowEvent e) 
    {
    	msg = new MessageBox(c);
        msg.askOKCancel("Are you shure you want to exit?");
    }

	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equals("Cancel"))
			msg.closeMessageBox();
		
	}
}
но окно всё равно закрывается (что вполне логично) т.к. метод windowClosing продолжает выполнятся. Как не дать окну закрытся если нажат "Cancel"?
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Код: Выделить всё

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

//....
if (e.getActionCommand().equals("Cancel"))
         msg.closeMessageBox();
else if (e.getActionCommand().equals("Ok"))
         frame.dispose();
Это так, на глаз ...
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

А вот и правильный ответ:

http://java.sun.com/docs/books/tutorial ... tml#stayup
michael
Сообщения: 116
Зарегистрирован: 15 июл 2004, 13:06
Откуда: ISRAEL (ранее - из Литвы)
Контактная информация:

спасибо за ответы, JOptionPane.showOptionDialog это то что надо
Ответить