【发布时间】:2018-05-16 13:13:11
【问题描述】:
我有一个按钮,我想在第二次点击它时做一些不同的事情。为此,我让单击按钮处理程序检查按钮的名称,并在第一次按下按钮时更改此名称。
按钮名称没有改变,我是否需要重新打包或更新它所属的按钮面板?
@Override
public void actionPerformed(ActionEvent e) {
switch(((JButton) e.getSource()).getName()) {
case "TR":
((JButton) e.getSource()).setName("Done TR");
awaitPoints("TR");
break;
case "Done TR":
CP.ComputeTransfo();
((JButton) e.getSource()).setName("TR Complete");
((JButton) e.getSource()).setEnabled(false);
break;
default:
System.out.println("ERROR:TFM01");
System.exit(0);
break;
}
}
【问题讨论】:
-
此文本是否显示给用户?如果是,请不要使用
setName,而是使用setText() -
你怎么知道它不会改变?在
setName()之后,您没有打印getName()。换句话说,你看到的并不总是对象的状态(尽管使用了错误的方法) -
@BasilBattikhi 成功了!谢谢