Я использую JMenu (с именем Count) с четырьмя JMenuItems (с именами Inc, Dec, Reset, Quit).Когда я нажимаю на любой из пунктов меню, я хочу, чтобы он отображал целое число в JTextArea.Например, каждый раз, когда я нажимаю на Inc, должны отображаться целые числа, перечисленные по вертикали, начиная с 0. В данный момент проблема заключается в том, что, когда я нажимаю пункт меню Dec, он не берет последний номер в списке.
Я пытался использоватьметод getText, но я продолжаю получать NumberFormatException и говорю, что входная строка представляет собой набор чисел, например:
0
1
2
3
4
Из того, что я могу сказать, я знаю, что мне нужно иметь возможность отслеживатьпоследний номер таким образом, чтобы все пункты меню (кроме пункта меню выхода) могли получить к нему доступ и изменить его.Я просто понятия не имею, как это сделать.
Вот один из способов, которые я пробовал, где он дает мне ошибку, о которой я упоминал выше.
//newLine = "\n";
public void actionPerformed(ActionEvent ae) {
String ac = ae.getActionCommand();
if(ac.equals("Inc")) {
jta.append(count + newLine);
count++;
}
else if(ac.equals("Dec")) {
count = Integer.parseInt(jta.getText());
countText = Integer.toString(count);
jta.append(countText + newLine);
count--;
}
else if(ac.equals("Reset")) {
jta.selectAll();
jta.replaceSelection("0");
count = 0;
}
else if(ac.equals("Quit")) {
System.exit(0);
}
}
Я ожидал
0
1
2
3
4
3
2
1
для отображения в TextArea, когда я нажимаю Inc и Dec
Но вместо этого просто
0
1
2
3
4
, а затем я получаю NumberFormatException
о том, чтовходная строка:
0
1
2
3
4
Если возможно, я бы хотел, чтобы входная строка была просто последним целым числом в текстовой области.
Надеюсь, это имеет смысл.Я впервые пишу о стеке в потоке.