Я делаю текстовую игру и экспериментирую с различными способами создания сюжетной линии прогресса в игре. (Извините, если следовать этому полусложно, я новичок в этом веб-сайте и все еще довольно новичок в Java, я делаю это для проекта класса)
Один из способов, который я пытаюсь сделать, - это увеличить значение (в данном случае LevelNum) на единицу, и всякий раз, когда отображается число, отличное от нуля, оно устанавливает для текста jLabel1 значение, равное этому тексту.
Я пытаюсь сделать это с помощью оператора if, как показано здесь:
if(LevelNum == 0) {
jLabel1.setText(StoryData.LevelOne);
}
Увеличение LevelNum делается так:
public void actionPerformed(ActionEvent e) {
LevelNum += 1;
System.out.println(LevelNum);
}
(System.out просто проверял, увеличивается ли число)
Проблема, с которой я сталкиваюсь, заключается в том, что независимо от значения jLabel1, текст никогда не меняется, и я не знаю, почему.
Весь код можно найти здесь: https://pastebin.com/JSX6urFT
StoryData - это отдельный класс в моем текстовом документе, и отдельные строки выглядят так: static String LevelOne = "Level one test";
Вот весь код, связанный с LevelNum:
public class DemoGUI extends javax.swing.JFrame {
private static int LevelNumBackUp = 0;
private static int LevelNum = 0;
public JTextArea jLabel1;
public JTextField jText1;
public JButton jButton1;
public JButton jButton2;
public JButton jButton3;
public JButton jButton4;
public JButton jButtonStart;
public JTextArea jTextAreaStart;
public JButton jButtonCredits;
public JButton jButtonReturn;
public static void main(String[] args) {
int LevelNum = 0;
int LevelNumBackUp = 0;