1

我有一个包含两个 JRadioButton 的 jframe。

public class jradioButtontest extends javax.swing.JFrame {

public jradioButtontest() {
    initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jRadioButton1 = new javax.swing.JRadioButton();
    jRadioButton2 = new javax.swing.JRadioButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jRadioButton1.setText("jRadioButton1");

    jRadioButton2.setText("jRadioButton2");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(198, 198, 198)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                .addComponent(jRadioButton2)
                .addComponent(jRadioButton1))
            .addContainerGap(203, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(80, 80, 80)
            .addComponent(jRadioButton1)
            .addGap(18, 18, 18)
            .addComponent(jRadioButton2)
            .addContainerGap(225, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>

public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new jradioButtontest().setVisible(true);
        }
    });
}
// Variables declaration - do not modify
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
// End of variables declaration
}

我想当我选择第一个 JRadioButton 时,应该取消选择其他 JRadioButton。我用现成的jframe,怎么改netbeans生成的代码?这是怎么做的?

4

3 回答 3

5

默认情况下,会在自己的 ButtonGroup 中创建一个新的 JRadioButton,这意味着它们都可以独立选择。

如果您希望链接两个按钮以便一次只能选择一个,则需要添加:

ButtonGroup group = new ButtonGroup();
group.add(jRadioButton1);
group.add(jRadioButton2);

构建按钮之后。

于 2013-03-04T18:29:46.810 回答
4

将 2 添加JRadioButtons到单个javax.swing.ButtonGroup实例中。

请参阅:如何使用 ButtonGroup 组件

于 2013-03-04T18:27:50.520 回答
0

使用 ButtonGroup :

ButtonGroup buttongroup = new ButtonGroup();
buttongroup.add(...);
于 2013-03-27T18:40:19.410 回答