0

我希望 Java 不像我的努力让我相信的那样不优雅。

我正在使用 JRadioButtons,并希望以编程方式确定与它们关联的“ID”。为此,我试图阅读其 NetBeans 属性中列出的“名称”。

在 ide 中,当我右键单击组件时,会出现“更改变量名称...”的选项,我使用它来设置诸如 rb1、rb2 等值。

但是在属性面板中,还有“名称”条目可以设置为不同的值。我用它来设置“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 中列出的属性?

4

1 回答 1

2

一种方法是使用按钮的动作命令:

rb1.setActionCommand("1");

然后在事件处理程序中,您可以使用:

String command = evt.getActionCommand();

如果您没有明确设置,则操作命令默认为按钮的文本。

于 2013-08-07T19:40:44.770 回答