获取Java中JRadioButton的名称

获取Java中JRadioButton的名称,java,swing,Java,Swing,我正在尝试从图形界面获取所有选定JRadioButtons的名称。因此,我创建了allFacilities数组,其中包含我的所有JradioButton 第一个for循环用于查找所选单选按钮的数量 第二个for循环希望获得每个选定按钮的名称 检查.getName()返回的内容时: System.out.println(“A###“+button.getName()),所有情况下仅返回null 这是我的密码: JRadioButton[] allFacilities = {restaura

我正在尝试从图形界面获取所有选定JRadioButtons的名称。因此,我创建了allFacilities数组,其中包含我的所有JradioButton

第一个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;          
        }
     }

有人对我如何解决我的问题有什么想法吗?

我相信你想要的是:

    JRadioButton button = new JRadioButton("test");
    System.out.println(button.getText());
它将打印
测试


方法
getName
检索组件的
name
,您应该使用
setName
设置该组件,我相信您没有设置该组件。

我相信您需要的是:

    JRadioButton button = new JRadioButton("test");
    System.out.println(button.getText());
它将打印
测试


方法
getName
检索组件的
name
,您应该使用
setName
设置该组件,我相信您没有设置该组件。

所说的“name”是指显示的文本吗?您是否尝试过
getText()
?如果您想使用名称,首先需要调用
setName(string)
,然后您可以稍后再调用。我将尝试使用setName()。我指的是JRadioButton变量的名称,与我初始化数组时显示的名称相同。请改用
button.getText()
。如果需要变量的名称,请查看此线程:不应使用变量本身的名称。变量名不会保留在编译中,因此没有理由这样做。您必须使用存储的数据。“名称”是指显示的文本?您是否尝试过
getText()
?如果您想使用名称,首先需要调用
setName(string)
,然后您可以稍后再调用。我将尝试使用setName()。我指的是JRadioButton变量的名称,与我初始化数组时显示的名称相同。请改用
button.getText()
。如果需要变量的名称,请查看此线程:不应使用变量本身的名称。变量名不会保留在编译中,因此没有理由这样做。您必须使用存储的数据。