Я хотел, чтобы игра продолжалась, пока GameOver
не является ложным.JFrame не отображается при использовании while statement
Раньше я делал это с помощью if, но в игре не было циклов, поэтому я использовал оператор while. Но после того, как я попытаюсь скомпилировать его, мой JFrame
не появится вообще! На самом деле ничего не появилось.
Любые возможные решения относительно того, как исправить это?
public void game() {
while (GameOver != true) {
ATT1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (b.Death == false) {
a.Att1(b, Fireball);
} else {
a.Att1(c, Fireball);
}
}
});
ATT2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (b.Death == false) {
a.Att2(b, Fireball);
} else {
a.Att2(c, Fireball);
}
}
});
}
}
Почему вы добавляете столько actionlisteners? Разве это не один из них? – tkausl
Убедитесь, что ваша петля не работает в качающейся нити. Здесь вы видите только фрагмент кода, так что невозможно узнать, что не так –
Пожалуйста, отредактируйте свой вопрос (https://stackoverflow.com/posts/40562837/edit) и добавьте [MCVE] или [Short, Self Contained, Correctable (Compilable), Example] (http://sscce.org/). Добавленный фрагмент не показывает достаточно, чтобы мы могли вам помочь. GL! –