2012-01-02 14 views
0

私はjavaで簡単なスライドプログラムを書いています。そのプログラムでは、パワーポイントのようなスライドを新しいウィンドウに表示したいのです。keyListenerでjframeを閉じるには

私はそれゆえ、私は私のMainGUIで私SlideShowGUIを作成しています、シングルトンパターンを有するメインGUIを有する、

SlideShowGUIは私はcreateAndShowGUI()メソッドを変更し、http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/layout/BorderLayoutDemoProject/src/layout/BorderLayoutDemo.java

このコードに非常に類似していますMainGUIでコード、タイトルバーを削除し、PowerPointのスライドショーモードのようにそれを最大限にする

public static void createAndShowGUI() { 
    JFrame frame = new JFrame("BorderLayoutDemo"); 
    frame.addKeyListener(key); 
    addComponentsToPane(frame.getContentPane()); 
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    frame.setUndecorated(true); 
    frame.setVisible(true); 
} 

次私がボタンを持っている、とButtonHandlerに、私はこのコードを実行します。

ChakmaSystem.getInstance().getGui().getSlideShowGUI().createAndShowGUI(); 

ここで、ChakmaSystem.getInstance()。getGui()はMainGUIを返し、getSlideShowGUI()はSlideShowGUIのゲッターメソッドです。

SlideShowGUIでは、自分自身のKeyListenerを追加しました。これは、左の右ボタンとエスケープボタンを追跡します。左と右が正しく動作しますが、私は自分のSlideShowGUIウィンドウだけを閉じるためにエスケープボタンを使います。

// Escape Case 
else if(keyCode == 27){ 
      ChakmaSystem.getInstance().getGui().getSlideShowGUI().dispose(); 
     } 

私はそれがこのケースに当たる脱出を押すと、しかし、窓が閉じない、ということを知っている:私のKeyListenerに、私は以下のコードを書いて、それをする

どうすればよいですか?

ありがとうございました。

答えて

0

これは機能しますか?

// Escape Case 
else if(keyCode == 27){ 
      ChakmaSystem.getInstance().getGui().getSlideShowGUI().setVisile(false); 
      ChakmaSystem.getInstance().getGui().getSlideShowGUI().dispose(); 
     } 
+0

いいえ、私もそれを試しましたが、動作しません。= / – CanCeylan

関連する問題