我希望Java不像我的努力那样优雅,这让我相信。
我正在使用JRadioButtons,并希望以编程方式确定与它们关联的“ID”。为此,我试图阅读其NetBeans属性中列出的“名称”。
在ide中,当我右键单击组件时,我可以选择“更改变量名称...”我使用它来设置rb1,rb2等值。
但是在属性面板中,还有“name”条目,可以将其设置为不同的值。我用它来设置“id”-s,如1,2等等。
使用单选按钮,我知道我可以有一系列if语句,在处理程序中,可以询问
Object src = evt.getSource();
int val=-1;
if (src == rb1) { val=1; }
else if (src == rb2) { val=2; }
else if (src == rb3) { val=3; }
else { val=4; }
但是,除了要求我用自己的控件名称硬编码id值,我很容易出现转录错误,我想相信有更简单的单语句方法来实现这一点,例如:
String name = rbGroup.getSelection().getName();
.getText();
.getLabel();
但是,我似乎对多个if-else语句的优雅和冗长使用感到困惑。
如何查询控件以最简单的方式为我提供NetBeans IDE中列出的属性?
答案 0 :(得分:2)
一种方法是使用按钮的Action Command:
rb1.setActionCommand("1");
然后在事件处理程序中你可以使用:
String command = evt.getActionCommand();
如果未明确设置,则action命令默认为按钮文本。