Я пишу простую программу слайдов в Java. В этой программе я хочу показывать мои слайды как powerpoint в новом окне.
У меня есть основной графический интерфейс с одноэлементным шаблоном, поэтому я создаю свой SlideShowGUI в своем MainGUI,
SlideShowGUI очень похож на этот код, http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/layout/BorderLayoutDemoProject/src/layout/BorderLayoutDemo.java
Я изменил метод createAndShowGUI () с помощью следующего кода, чтобы удалить строку заголовка и развернуть ее, как в режиме слайд-шоу 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);
}
В MainGUI у меня есть кнопки, а в ButtonHandler я выполняю этот код:
ChakmaSystem.getInstance().getGui().getSlideShowGUI().createAndShowGUI();
Где ChakmaSystem.getInstance (). GetGui () возвращает MainGUI, а getSlideShowGUI () - метод получения SlideShowGUI.
В SlideShowGUI я добавил свой собственный KeyListener, который отслеживает левую правую и escape-кнопки. Левая и правая стороны работают правильно, однако я хочу, чтобы кнопка выхода закрывала только мое окно SlideShowGUI.
Для этого в своем кейлисте я написал следующие коды:
// Escape Case
else if(keyCode == 27){
ChakmaSystem.getInstance().getGui().getSlideShowGUI().dispose();
}
Я знаю, что когда я нажимаю клавишу escape, она попадает в этот случай, но окна не закрываются.
Что мне делать?
Спасибо.