Страница 1 из 1

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

Добавлено: 21 мар 2006, 13:20
michael
есть главное окно и в нём

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

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"?

Добавлено: 21 мар 2006, 14:50
Oscar

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

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();
Это так, на глаз ...

Добавлено: 21 мар 2006, 14:55
Oscar
А вот и правильный ответ:

http://java.sun.com/docs/books/tutorial ... tml#stayup

Добавлено: 21 мар 2006, 22:11
michael
спасибо за ответы, JOptionPane.showOptionDialog это то что надо