问题描述
我正在学习和新的 GUI,在这个程序中使用了 ECLIPSE IDE(拖放窗口构建器)
我为性别声明了两个单选按钮:男性和女性
如果它点击男性或女性按钮,它应该只(点击一个)并转到那个按钮而不是两个,因此我希望它自动取消选择另一个按钮以避免重复选择
所以我已经做了一些研究和 import javax.swing.ButtonGroup;
但我仍然不明白为什么它不起作用,因为我仍然可以点击这两个单选按钮。 我认为这与我的面板有关吗?
为什么会发生这种情况,我该如何解决?
这是我的程序
public AddRecord() {
setUndecorated(true);
setBackground(Color.WHITE);
setVisible(true);
setDefaultCloSEOperation(JFrame.HIDE_ON_CLOSE);
setBounds(100,100,1063,640);
contentPane = new JPanel();
contentPane.setBounds(new Rectangle(5,0));
contentPane.setBackground(new Color(255,255,240));
contentPane.setBorder(new LineBorder(new Color(0,28),1,true));
setLocationRelativeto(null);
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel pnlInfo = new JPanel();
pnlInfo.setBounds(24,20,1015,597);
contentPane.add(pnlInfo);
pnlInfo.setLayout(null);
JLabel lblGender = new JLabel("Gender:");
lblGender.setBounds(32,174,50,10);
pnlInfo.add(lblGender);
lblGender.setFont(new Font("Tahoma",Font.PLAIN,11));
ButtonGroup btnBg = new ButtonGroup();
btnBg.add(rdbtnMale);
btnBg.add(rdbtnFemale);
JRadioButton rdbtnMale = new JRadioButton("Male");
rdbtnMale.setBounds(79,169,55,21);
pnlInfo.add(rdbtnMale);
JRadioButton rdbtnFemale = new JRadioButton("Female");
rdbtnFemale.setBounds(136,76,21);
pnlInfo.add(rdbtnFemale);
}
解决方法
你的代码甚至无法编译,
移动线条
ButtonGroup btnBg = new ButtonGroup();
btnBg.add(rdbtnMale);
btnBg.add(rdbtnFemale);
到代码的末尾
喜欢这个
setUndecorated(true);
setBackground(Color.WHITE);
setVisible(true);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setBounds(100,100,1063,640);
JPanel contentPane = new JPanel();
contentPane.setBounds(new Rectangle(5,0));
contentPane.setBackground(new Color(255,255,240));
contentPane.setBorder(new LineBorder(new Color(0,28),1,true));
setLocationRelativeTo(null);
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel pnlInfo = new JPanel();
pnlInfo.setBounds(24,20,1015,597);
contentPane.add(pnlInfo);
pnlInfo.setLayout(null);
JLabel lblGender = new JLabel("Gender:");
lblGender.setBounds(32,174,50,10);
pnlInfo.add(lblGender);
lblGender.setFont(new Font("Tahoma",Font.PLAIN,11));
JRadioButton rdbtnMale = new JRadioButton("Male");
rdbtnMale.setBounds(79,169,55,21);
pnlInfo.add(rdbtnMale);
JRadioButton rdbtnFemale = new JRadioButton("Female");
rdbtnFemale.setBounds(136,76,21);
pnlInfo.add(rdbtnFemale);
ButtonGroup btnBg = new ButtonGroup();
btnBg.add(rdbtnMale);
btnBg.add(rdbtnFemale);