我的Java中的JButton存在问题,我到处查找它并找不到任何原因导致它无法正常工作。这可以帮助其他有同样问题的人。基本上我试图在文本框中显示其中一辆车(来自精选的JRadioButtons),例如你选择了Car,但是当我按下“Check”按钮时它出现了你选择了...... Null and我毫不知道。
任何帮助将不胜感激!
三江源!
这是我的代码
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);
}
答案 0 :(得分:0)
group1.getSelection()
返回所选按钮的模型
你最好在radiobuttons中循环,看看哪一个被选中:
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
已使用,因为它定义了按钮和菜单项的常见行为。