我尝试制作一个允许我在点击不同按钮时更改标签文字的程序,但无论我点击什么按钮,标签文字都会更改为{{1}的最后一行}。
actionPerformed
答案 0 :(得分:0)
在您的代码中
if(add.isSelected())
operator = "+";
label.setText("+");
if之后没有花括号,所以只设置运算符是有条件的,标签总是被改变。所以最后一个标签总是赢。
if(add.isSelected()) {
operator = "+";
label.setText("+");
}
或者
if(add.isSelected())
operator = "+";
...
label.setText(operator)
答案 1 :(得分:0)
您的问题是您未在<root>
<tag1>${root.tag1}</tag1>
<tag2>
<tag3>${root.tag2.tag3}</tag3>
</tag2>
</root>
语句中包含label.setText()
方法。因此,它将执行每个if
调用并保持覆盖文本,直到它默认为您方法中的最终调用。最好使用大括号,即使是一行label.setText()
语句,也可以避免这个问题。
if
此外,由于只有一个条件成立,您可以使用 if(e.getSource() == add) {
operator = "+";
label.setText("+");
}
。