자바에서 간단한 슬라이드 프로그램을 작성하고 있습니다. 그 프로그램에서 저는 파워 포인트와 같은 슬라이드를 새로운 창에 보여주고 싶습니다.keyListener로 jframe을 닫는 법
나는
http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/layout/BorderLayoutDemoProject/src/layout/BorderLayoutDemo.java 내가 가진 createAndShowGUI() 메소드를 변경,
SlideShowGUI이 코드와 매우 유사하다, 그러므로, 내 MainGUI 내 SlideShowGUI을 만드는 오전, 싱글 톤 패턴이 기본 GUI를 코드 다음, 제목 표시 줄을 제거하고 난 버튼이 MainGUI에서
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의 getter 메서드입니다.
SlideShowGUI에서 왼쪽 버튼과 이스케이프 버튼을 추적하는 자체 KeyListener를 추가했습니다. 왼쪽과 오른쪽 제대로 작동하지만, 나는 내 SlideShowGUI 창을 닫으려면 이스케이프 버튼을 원합니다.
는이를 위해 내 모든 KeyListener에서 나는 다음과 같은 코드를 썼다 :// Escape Case
else if(keyCode == 27){
ChakmaSystem.getInstance().getGui().getSlideShowGUI().dispose();
}
내가 탈출을 누를 때이 경우 안타, 알고, 그러나 창은 닫히지 않습니다.
어떻게해야합니까?
감사합니다.
아니요, 저도 시도했지만 작동하지 않습니다. = / – CanCeylan