Пиша проста програма за слайдове в 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.
За да направя това, в моя keylistener написах следните кодове:
// Escape Case
else if(keyCode == 27){
ChakmaSystem.getInstance().getGui().getSlideShowGUI().dispose();
}
Знам, че когато натисна escape, той удря този случай, но прозорците не се затварят.
Какво трябва да направя ?
Благодаря.