【问题标题】:Getting the name of a JRadioButton in Java在 Java 中获取 JRadioButton 的名称
【发布时间】: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/…
  • 您不应该使用变量本身的名称来执行此操作。变量名不会在编译中保留,也没有理由这样做。您必须使用存储的数据。

标签: java swing


【解决方案1】:

我相信你想要的是这样的:

    JRadioButton button = new JRadioButton("test");
    System.out.println(button.getText());

这将打印test

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

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 2011-12-22
    • 2017-08-06
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    相关资源
    最近更新 更多