Java 将单选按钮组添加到屏幕

Java 将单选按钮组添加到屏幕,java,swing,user-interface,jradiobutton,buttongroup,Java,Swing,User Interface,Jradiobutton,Buttongroup,因此,我正在创建一个计算BMR和TDEE的计算器。我在运行代码时遇到了问题,因为除了我的单选按钮组之外,所有内容都会显示出来。谁能告诉我需要添加什么/我做错了什么才能让他们出现在屏幕上 private JRadioButton female, male, sedentary, lightlyActive, modActive, veryActive, extrActive; private JButton calculate; public BMRGUI() {

因此,我正在创建一个计算BMR和TDEE的计算器。我在运行代码时遇到了问题,因为除了我的单选按钮组之外,所有内容都会显示出来。谁能告诉我需要添加什么/我做错了什么才能让他们出现在屏幕上

   private JRadioButton female, male, sedentary, lightlyActive, modActive, veryActive, extrActive;

   private JButton calculate;

   public BMRGUI()

   {

      heightLabel = new JLabel ("Height (in.) ");

      weightLabel = new JLabel ("Weight (lbs) ");

      ageLabel = new JLabel ("Age (yrs)");

      female = new JRadioButton ("Female");
      female.setMnemonic(KeyEvent.VK_C); 
      female.setActionCommand("Female");
      female.setSelected(true);

      male = new JRadioButton ("Male");
      male.setMnemonic(KeyEvent.VK_C); 
      male.setActionCommand("Male");

      ButtonGroup group = new ButtonGroup();
      group.add(female);
      group.add(male);

      female.addActionListener(this);
      male.addActionListener(this);

      sedentary = new JRadioButton ("Sedentary");
      sedentary.setMnemonic(KeyEvent.VK_C); 
      sedentary.setActionCommand("Sedentary");
      sedentary.setSelected(true);

      lightlyActive = new JRadioButton ("Lightly active");
      lightlyActive.setMnemonic(KeyEvent.VK_C); 
      lightlyActive.setActionCommand("Lightly active");

      modActive = new JRadioButton ("Moderately active");
      modActive.setMnemonic(KeyEvent.VK_C); 
      modActive.setActionCommand("Moderately active");

      veryActive = new JRadioButton ("Very active");
      veryActive.setMnemonic(KeyEvent.VK_C); 
      veryActive.setActionCommand("Very active");

      extrActive = new JRadioButton ("Extremely active");
      extrActive.setMnemonic(KeyEvent.VK_C); 
      extrActive.setActionCommand("Extremely active");

      ButtonGroup group2 = new ButtonGroup();
      group2.add(sedentary);
      group2.add(lightlyActive);
      group2.add(modActive);
      group2.add(veryActive);
      group2.add(extrActive);
      sedentary.addActionListener((ActionListener) this);
      lightlyActive.addActionListener((ActionListener) this);
      modActive.addActionListener((ActionListener) this);
      veryActive.addActionListener((ActionListener) this);
      extrActive.addActionListener((ActionListener) this);

      BMRLabel = new JLabel ("Your BMR is ");

      bmrResultLabel = new JLabel (" ");

      bmrMeaningLabel = new JLabel(" ");

      TDEELabel = new JLabel ("Your TDEE is ");

      tdeeResultLabel = new JLabel (" ");

      tdeeMeaningLabel = new JLabel(" ");

      height = new JTextField ();

      weight = new JTextField ();

      age = new JTextField ();

      calculate = new JButton ("Calculate");

      BMRListener Listener = new BMRListener();

      calculate.addActionListener(Listener);

      setPreferredSize (new Dimension(WIDTH, HEIGHT));

      setBackground (Color.white);



      add(heightLabel);

      add(height);

      add(weightLabel);

      add(weight);

      add(ageLabel);

      add(age);

      add(calculate);

      add(BMRLabel);

      add(bmrResultLabel);

      add(bmrMeaningLabel);

      add(TDEELabel);

      add(tdeeResultLabel);

      add(tdeeMeaningLabel);

   }

使用以下命令添加单选按钮组:

add(group2);

您没有将按钮添加到UI


ButtonGroup
是一个非可视的辅助类,它管理一组按钮,用于确保只选择一个按钮。

当我尝试这样添加按钮时,出现了以下错误:类型容器中的方法add(组件)不适用于参数(ButtonGroup)ButtonGroup不基于组件,因此无法添加UIO、duh。这更有意义。非常感谢。