2013-03-04 1 views
1

두 개의 JRadioButton이있는 jframe이 있습니다.JRadionButton이 자동으로 선택 해제됩니다.

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 생성 코드를 어떻게 변경할 수 있습니까? 어떻게하면 되나요?

+1

당신은 단지 [라디오 버튼 튜토리얼]을 확인하는 것을 알고있다 (http://docs.oracle.com/javase/tutorial/uiswing/components/button.html#radiobutton) 것 "각 라디오 버튼 그룹에 대해 ButtonGroup 인스턴스를 만들고 각 라디오 버튼을 추가해야합니다. ButtonGroup은 사용자가 다른 버튼을 선택할 때 이전에 선택한 버튼을 선택 취소합니다. 그룹 " – Robin

답변

5

, 새로운 JRadioButton의이 그들은 모두 독립적으로 선택 될 수 있음을 의미 자체 ButtonGroup에서 생성됩니다. 당신이 버튼을 건설 한 후

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

을 : 당신이 한 번에 하나만 포착 할 수 있도록 연결된 두 개의 버튼을 원하는 경우에

, 당신은 추가해야합니다.

+0

준비된 jframe을 사용함에 따라 netbeans가 코드를 생성하는 코드를 어떻게 변경합니까? – Sajad

4

javax.swing.ButtonGroup 인스턴스에 2 JRadioButtons을 추가하십시오.

참조 : 기본적으로 How to Use the ButtonGroup Component

+0

나는 준비된 jframe을 사용하기 때문에 netbeans가 코드를 추가하기 위해 생성 한 코드를 어떻게 변경합니까? – Sajad

+0

'NetBeans'에서'ButtonGroup' 컴포넌트를 생성하고 속성 편집기를 사용하는'JRadioButtons' 둘 다에 대해'buttonGroup' 프라퍼티를 그 객체로 설정합니다. – Reimeus

+2

스윙 GUI를 직접 코딩하는 것을 권장합니다. 이렇게하면 코드 자체에 더 익숙해집니다 :) – Reimeus

0

사용 ButtonGroup :

ButtonGroup buttongroup = new ButtonGroup(); 
buttongroup.add(...); 
관련 문제