2016-06-12 6 views
0

これは私のビュークラスです。メインクラスは実際にプログラムを起動します。以下のコードは、GUIおよびイベントハンドラ(アクションリスナ)を含んでいるため、ビューlassで使用されています。JFrameへのWindowListenerの追加(ウィンドウが開く)

public class TheaterView extends JFrame implements WindowListener{ 
    public void windowOpened(WindowEvent e) { 
      displayMessage("WindowListener method called: windowOpened."); 
    } 
} 

これは私がやっているものですが、それはエラーメッセージを表示します:TheaterViewは抽象的ではないとのWindowListenerで抽象メソッドwindowDeactivated(WindowEventの)をオーバーライドしません。

とにかく、私はメソッドを実装し、これを取得する(私も他の人を得るが、これは私が必要とする唯一のものである):

@Override 
    public void windowOpened(WindowEvent e) { 
     throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
    } 

しかし、私のような何かをするときに動作していないようですprintlnコマンドを使用します。プログラムが初めて実行されると、つまりウィンドウが開かれたときに何かをしたいのです。

私は多くを検索しましたが、まだ理解できませんでした。任意の助けいただければ幸い:)メインで

コード:

TheaterView theater = new TheaterView("Movie Theater"); 
theater.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
theater.setLocation(200, 200); 
theater.pack(); 
theater.setVisible(true); 

答えて

2

あなたはリスナーからのすべての抽象メソッドをオーバライドしましたか?そのような 何か:

public void windowClosing(WindowEvent e) { 
    aboutFrame.dispose();  
} 

public void windowClosed(WindowEvent e) { 
} 

public void windowIconified(WindowEvent e) { 
} 

public void windowDeiconified(WindowEvent e) { 
} 

public void windowActivated(WindowEvent e) { 
} 

public void windowDeactivated(WindowEvent e) { 
} 
+0

はい、私はこの文をpublic void windowOpened(WindowEvent e)内に持っています:System.out.println( "Yayy"); しかし、それは印刷されていないようです。 – Burhan

+0

まだエラーメッセージが表示されますか? –

+0

エラーメッセージは表示されませんが、何も起きていないようです。 – Burhan

0

がWindowsAdapterを拡張するクラスを作成し、addWindowsListenerを経由してお使いのJFrameに追加します。

詳細については、https://docs.oracle.com/javase/7/docs/api/java/awt/event/WindowAdapter.htmlを参照してください。

Swing/AWTでリスナーを操作する場合は、使用するリスナーに応じたアダプタを検索することをおすすめします。

関連する問題