【发布时间】:2019-10-21 06:27:59
【问题描述】:
我正在使用带有四个 JMenuItems(名为 Inc、Dec、Reset、Quit)的 JMenu(名为 Count)。当我单击任何菜单项时,我希望它在 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
当我点击 Inc 和 Dec 时显示在 TextArea 中
但它只是
0
1
2
3
4
然后我得到一个NumberFormatException 说输入字符串是:
0
1
2
3
4
如果可能,我希望输入字符串只是文本区域中的最后一个整数。
我希望这是有道理的。这是我第一次在 stackoverflow 上发帖。
【问题讨论】:
标签: java swing append jtextarea jmenuitem