【发布时间】:2017-12-05 21:16:46
【问题描述】:
我正在尝试从我的图形界面中获取所有选定 JRadioButtons 的名称。因此,我创建了包含所有 JRadioButtons 的 allFacilities 数组。
第一个 for 循环用于查找所选单选按钮的数量。
第二个 for 循环渴望获得每个选定按钮的名称。
检查 .getName() 返回的内容时:
System.out.println("A##" + button.getName());,所有情况只返回null。
这是我的代码:
JRadioButton[] allFacilities = {restaurant, laundry, parking};
int selectedFacilitiesCounter = 0;
for(JRadioButton check : allFacilities) {
if(check.isSelected()) {
selectedFacilitiesCounter += 1;
}
}
String[] selectedFacilities = new String[selectedFacilitiesCounter];
int index = 0;
for(JRadioButton button : allFacilities) {
if(button.isSelected()) {
System.out.println("A##" + button.getName());
switch(button.getName()) {
case "restaurant":
selectedFacilities[index] = "restaurant";
break;
case "laundry":
selectedFacilities[index] = "laundry";
break;
case "parking":
selectedFacilities[index] = "parking";
break;
default:
System.out.println("Facility Not Found");
}
index += 1;
}
}
有人对我如何解决我的问题有任何想法吗?
【问题讨论】:
-
“名称”是指显示的文本?你试过
getText()吗?如果您想使用名称,您需要先致电setName(string),然后您可以稍后再获取。 -
我会试试 setName()。我的意思是初始化数组时显示的 JRadioButton 变量的名称。
-
改用
button.getText()。 -
如果你想要变量的名字,看看这个线程:stackoverflow.com/questions/744226/…
-
您不应该使用变量本身的名称来执行此操作。变量名不会在编译中保留,也没有理由这样做。您必须使用存储的数据。