使用ActionListener更改标签文本

时间:2015-05-11 19:40:54

标签: java jbutton actionlistener jlabel settext

我尝试制作一个允许我在点击不同按钮时更改标签文字的程序,但无论我点击什么按钮,标签文字都会更改为{{1}的最后一行}。

actionPerformed

2 个答案:

答案 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("+"); }