ユーザーがエスケープキーを押して新しいウィンドウを開いたときに、ウィンドウを閉じようとしています。なんらかの理由で、dispose()を追加すると、キーリスナーには、それは動作しません。KeyListenerはdispose()で動作しません。
これを修正する方法はありますか?
ありがとうございます!ここで
はコードです:
public class About extends JPanel implements KeyListener{
Font menu = new Font("SansSerif", Font.BOLD, 12);
Font title = new Font("SansSerif", Font.BOLD, 14);
Font version = new Font("Monospaced", Font.ITALIC, 12);
boolean falling = false;
public About() {
JFrame frame = new JFrame("Tiny Runner");
frame.add(this);
frame.setBounds(0, 0, 800, 600);
frame.addKeyListener(this);
frame.setFocusable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
}
public void keyPressed(KeyEvent keyEvent) {
if (keyEvent.getKeyCode() == KeyEvent.VK_ESCAPE) {
new MainMenu();
dispose();
}
}
については、Windowクラスから継承しないため、disposeメソッドはありません。つまり、フレーム変数でdisposeを呼び出さなければなりません。 – Dunes