CSDN-Ada助手 2023-09-13 10:08 采纳率: 1.6%
浏览 5
已结题

如何获取得到动态生成的groupBox里面的radioButton的值_(语言-java)

该问题来自社区帖: https://bbs.csdn.net/topics/617238226.为符合问答规范, 该问题经过ChatGPT优化
问题: 如何获取动态生成的groupBox中radioButton的值并进行计算? ```csharp int o = Convert.ToInt32(textBox1.Text); for (int u = 0; u < o; u++) { GroupBox groupBox = new GroupBox(); groupBox.Location = new Point(53, 12 + 60 * u); groupBox.Size = new Size(734, 52); groupBox.Text = "专家" + (u+1) + "意见"; string[] radioButtonLabels = { "很低", "低", "较低", "中等", "较高", "高", "很高" }; for (int i = 0; i < 7; i++) { RadioButton radioButton = new RadioButton(); radioButton.Text = radioButtonLabels[i]; radioButton.Location = new Point(19 + 100 * i, 26); radioButton.Size = new Size(95, 16); groupBox.Controls.Add(radioButton); } this.Controls.Add(groupBox); } ``` 以上是您生成任意数量的groupBox且每个groupBox包含7个radioButton的代码。请问如何获取这些radioButton的选中值并进行计算? 相关HTML格式代码如下: ```html
 int o = Convert.ToInt32(textBox1.Text); 
for (int u = 0; u < o; u++)
{
    GroupBox groupBox = new GroupBox();
    groupBox.Location = new Point(53, 12 + 60 * u);
    groupBox.Size = new Size(734, 52);
    groupBox.Text = "专家" + (u+1) + "意见";
    string[] radioButtonLabels = { "很低", "低", "较低", "中等", "较高", "高", "很高" };
    for (int i = 0; i < 7; i++)
    {
        RadioButton radioButton = new RadioButton();
        radioButton.Text = radioButtonLabels[i];
        radioButton.Location = new Point(19 + 100 * i, 26);
        radioButton.Size = new Size(95, 16);
        groupBox.Controls.Add(radioButton);
    }
    this.Controls.Add(groupBox);
}

以上是您生成任意数量的groupBox且每个groupBox包含7个radioButton的代码。请问如何获取这些radioButton的选中值并进行计算?

```
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-13 13:17
    关注

    【以下回答由 GPT 生成】

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainFrame extends JFrame {
    
        private List<List<JRadioButton>> radioButtons;
        private List<List<String>> selectedValues;
    
        public MainFrame() {
            radioButtons = new ArrayList<>();
            selectedValues = new ArrayList<>();
    
            int o = Integer.parseInt(textBox1.getText());
            for (int u = 0; u < o; u++) {
                GroupBox groupBox = new GroupBox();
                groupBox.setLocation(new Point(53, 12 + 60 * u));
                groupBox.setSize(new Size(734, 52));
                groupBox.setText("专家" + (u + 1) + "意见");
    
                String[] radioButtonLabels = {"很低", "低", "较低", "中等", "较高", "高", "很高"};
                List<JRadioButton> groupBoxButtons = new ArrayList<>();
                List<String> groupBoxValues = new ArrayList<>();
    
                for (int i = 0; i < 7; i++) {
                    JRadioButton radioButton = new JRadioButton();
                    radioButton.setText(radioButtonLabels[i]);
                    radioButton.setLocation(new Point(19 + 100 * i, 26));
                    radioButton.setSize(new Size(95, 16));
                    final String value = radioButtonLabels[i];  // 保存选项的值
                    radioButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            // 处理选中状态的改变
                            if (radioButton.isSelected()) {
                                // 将选中的值存储起来
                                groupBoxValues.add(value);
                            }
                        }
                    });
                    groupBox.getControls().add(radioButton);
                    groupBoxButtons.add(radioButton);
                }
    
                radioButtons.add(groupBoxButtons);
                selectedValues.add(groupBoxValues);
                this.getControls().add(groupBox);
            }
        }
    
        public void calculate() {
            // 对选中的值进行计算
            for (int u = 0; u < radioButtons.size(); u++) {
                List<JRadioButton> groupBoxButtons = radioButtons.get(u);
                List<String> groupBoxValues = selectedValues.get(u);
    
                // 计算每组groupBox中选中值的个数
                int count = groupBoxValues.size();
                System.out.println("专家" + (u + 1) + "选中了" + count + "个选项。");
            }
        }
    
        // 其他相关方法和逻辑...
    
    }
    

    在上述示例中,我们增加了一个selectedValues列表来存储每组groupBox中选中的值。在每个radioButton的ActionListener中,将选中的选项的值存储到对应的groupBoxValues列表中。我们还添加了一个calculate()方法用于计算每组groupBox中选中值的个数,您可以在其中根据需要实现具体的计算逻辑。

    请注意,上述示例仅为演示目的,您需要根据实际需求进行适当的更改和扩展。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 系统已结题 9月21日
  • 创建了问题 9月13日

悬赏问题

  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题