Я хочу иметь возможность постоянно проверять значение Frame.state, без непрерывного циклического выполнения кода внутри проверок. Я хочу иметь возможность либо проверить значение, либо проверить, когда была нажата кнопка, и заново распечатать значения в Jpane соответствующим образом.
Я взял проверки и поместил их в ActionListener () дляКнопка «Далее» в кадре, но я не хочу делать это, если это абсолютно необходимо. Я попытался поместить проверки if в цикл while, результатом было непрерывное повторение всего внутри каждой проверки, основанное на состоянии кнопки, то есть: код в первой проверке "if (Frame.state == 1) {array.setRandom (100); array.print ();} "будет непрерывно перепечатывать массив случайными числами, вместо того, чтобы выполнить действие один раз и ждать повторного нажатия кнопки.
Я неполагаю, что ArrayObject2d важен для помощи или решения этой проблемы, и решил оставить его, если этот код необходим, пожалуйста, дайте мне знать.
public class MainClass {
public static void main(String[] args) {
@SuppressWarnings("unused")
Frame frame = new Frame();
ArrayObject2d array = new ArrayObject2d(10, 5);
if (Frame.state == 1) {
array.setRandom(100);
array.print();
} else if (Frame.state == 2) {
array.setAll(99999);
array.print();
} else if (Frame.state == 3) {
array.numberAll();
array.print();
} else if (Frame.state == 4) {
array.showIndex();
}
}
Ниже код находится в другом классе, под конструктором, которыйполностью создает фрейм со всеми компонентами
//assume all imports have been written
public class Frame extends JFrame {
public Frame() {
super();
setDefaultCloseOperation(3);
setBackground(new Color(245, 252, 255));
setResizable(false);
setSize(1280, 720);
setVisible(true);
setLocationRelativeTo(null);
JButton next = new JButton();
next.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (state > 3) {
state = 1;
} else {
state++;
}
}
});
}
}
Я ожидаю, что проверки будут выполняться непрерывно, но вместо этого код внутри проверок выполнялся непрерывно.