Я пишу простую программу слайдов в 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, который отслеживает левые и правые кнопки и кнопки выхода. Левая и правая работают правильно, однако я хочу, чтобы кнопка выхода закрывала только окно SlideShowGUI.
Для этого в моем кейлистере я написал следующие коды:
// Escape Case
else if(keyCode == 27){
ChakmaSystem.getInstance().getGui().getSlideShowGUI().dispose();
}
Я знаю, что когда я нажимаю выход, он попадает в этот случай, однако окна не закрываются.
Что я должен делать ?
Спасибо.