1

2つの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

デフォルトでは、新しいJRadioButtonが独自のButtonGroupに作成されます。つまり、両方を個別に選択できます。

一度に1つしか選択できないように、2つのボタンをリンクする場合は、次を追加する必要があります。

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

ボタンを作成した後。

于 2013-03-04T18:29:46.810 に答える
4

JRadioButtons2を単一のjavax.swing.ButtonGroupインスタンスに追加します。

参照:ButtonGroupコンポーネントの使用方法

于 2013-03-04T18:27:50.520 に答える
0

ButtonGroupを使用する:

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