2016-02-17 4 views
2

Каждый раз, когда я открываю свой кадр, windowOpened должен печатать «открыто», но это не так. Все остальные абстрактные методы работают правильно. Я использую Java 7. Любые идеи для этого поведения. windowOpened in java not working

public class windowlistenerdemo extends Frame implements WindowListener 
{ 
    public windowlistenerdemo() 
    { 
     setSize(400,400); 
     setVisible(true); 
     this.addWindowListener(this); 
    } 

    @Override 
    public void windowOpened(WindowEvent e) { 
     System.out.println("open"); 
    } 

    @Override 
    public void windowClosing(WindowEvent e) { 
     System.out.println("closing"); 
     this.dispose(); 
    } 

    @Override 
    public void windowClosed(WindowEvent e) { 
     System.out.println("closed"); 
    } 

    public static void main(String[] args) { 
     windowlistenerdemo ob = new windowlistenerdemo(); 
    } 
} 

ответ

4
setVisible(true); 
    this.addWindowListener(this); 

Вы устанавливаете окно, чтобы быть видимым перед добавлением listener. Событие windowOpened уже запущено. Попробуйте заменить эти строки.

+0

спасибо. глупый. –