0

我的 Java 中的 JButton 有问题,我到处查找它,但找不到任何关于它为什么不能正常工作的信息。这可以帮助其他有同样问题的人。基本上,我试图在文本框中显示其中一辆车(来自 JRadioButtons 的选择),例如您已选择汽车,但是当我按下“检查”按钮时,它会出现您已选择... Null 和我一点头绪都没有。

任何帮助,将不胜感激 !

谢谢!

这是我的代码

    txtVehicleType = new JTextField();
    txtVehicleType.setText("Vehicle Type");
    txtVehicleType.setBounds(10, 57, 86, 20);
    frmCarpark.getContentPane().add(txtVehicleType);
    txtVehicleType.setColumns(10);


    JRadioButton rdbtnCar = new JRadioButton("Car");
    rdbtnCar.setBounds(10, 84, 51, 23);
    frmCarpark.getContentPane().add(rdbtnCar);


    JRadioButton rdbtnMotorbike = new JRadioButton("Motorbike");
    rdbtnMotorbike.setBounds(10, 110, 109, 23);
    frmCarpark.getContentPane().add(rdbtnMotorbike);

    JRadioButton rdbtnPickupTruck = new JRadioButton("Pick-up Truck");
    rdbtnPickupTruck.setBounds(10, 136, 109, 23);
    frmCarpark.getContentPane().add(rdbtnPickupTruck);

    final ButtonGroup group1 = new ButtonGroup();
    group1.add(rdbtnCar);
    group1.add(rdbtnMotorbike);
    group1.add(rdbtnPickupTruck);


    txtYouHaveSelected = new JTextField();
    txtYouHaveSelected.setText("You have selected..." );
    txtYouHaveSelected.setBounds(10, 193, 178, 29);
    frmCarpark.getContentPane().add(txtYouHaveSelected);
    txtYouHaveSelected.setColumns(10);


    JButton btnCheck = new JButton("Check");
    btnCheck.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
                txtYouHaveSelected.setText("You have selected..." + group1.getSelection());

        }
    });
    btnCheck.setBounds(10, 166, 89, 23);
    frmCarpark.getContentPane().add(btnCheck);
}
4

1 回答 1

0

group1.getSelection() 返回所选按钮的型号。
您最好在单选按钮内循环并查看选择了哪个:

java.util.Enumeration<AbstractButton> rbs=buttonGroup1.getElements(); 
 while(rbs.hasMoreElements()){
       JRadioButton tempRadio = (JRadioButton)rbs.nextElement();
          if(tempRadio.isSelected()){
               System.out.println("Selected : "+tempRadio.getText());
               break;
              }
         }

注意: :AbstractButton使用是因为它定义了按钮和菜单项的常见行为。

于 2013-05-26T16:15:51.243 回答