Я разрабатываю игру, в которой вы сначала попадаете на главный экран, есть несколько вариантов выбора, например, Singleplayer, Twoplayer, Credits и т. д.
У меня есть одна большая проблема. Если я нажму кнопку в меню (не JButton
), переключатель JPanel
s, но keyListener будет потерян. Keylistener
относится к тому же классу, что и код игры, реализующий JPanel
. Я пробовал все, чтобы заставить Keylistener
работать, но он просто не работает.
Вот как эти вещи называются: Основной класс --> Меню --> Игра. Я попытался добавить прослушиватель ключей в основной класс, но он не работает.
Итак, JPanel
переключается нормально, а вот Keylistener
уже нет. Раньше я разрабатывал игру с новыми JFrame
, поэтому, когда я щелкал меню, создавался новый фрейм. Я не стал вставлять код сюда, потому что он слишком длинный (2000+ строк), и KeyListener
работает, но только когда он в новом JFrame
. Я установил режим in в классе Menu, нажав кнопку.
В настоящее время это мой переключатель панели:
public void setJPanel() {
switch (mode) {
case 1:
getContentPane().add(s);
validate();
break;
case 2:
getContentPane().removeAll();
getContentPane().add(sp);
validate();
break;
}
}
Заранее спасибо за помощь!