2014-10-31 7 views
0
private String[] gender = {"Male","Female"}; 

private JComboBox jco = new JComboBox(); 

private JRadioButton[] jrbGender; 
private ButtonGroup buttonGroup = new ButtonGroup(); 

private JButton jbtAdd = new JButton("Create"); 
private JButton jbtRetrieve = new JButton("Retrieve"); 
private JButton jbtUpdate = new JButton("Update"); 
private JButton jbtDelete = new JButton("Delete"); 

public RegistrationForMembership(){ 


    JPanel jp1 = new JPanel(new GridLayout(6,2)); 
    JPanel jp2 = new JPanel(new FlowLayout()); 
    JPanel jp3 = new JPanel(new GridLayout(1,1)); 

    jco = new JComboBox(membership); 
    jrbGender = new JRadioButton[gender.length]; 

    add(jp1); 

    jp1.add(new JLabel("Member ID")); 
    jp1.add(jtfID); 
    jp1.add(new JLabel("Member Name")); 
    jp1.add(jtfName); 
    jp1.add(new JLabel("Member IC")); 
    jp1.add(jtfIC); 
    jp1.add(new JLabel("Address")); 
    jp1.add(jtfAddress); 
    jp1.add(new JLabel("Gender")); 

    for(int i =0; i<gender.length;++i){ 
     jrbGender[i] = new JRadioButton(gender[i]); 
     buttonGroup.add(jrbGender[i]); 
     jp1.add(jrbGender[i]); 

    } 

    add(jp1); 

라디오 버튼 중 하나가 다음 줄로 이동합니다. 레이블이있는 동일한 줄에 라디오 버튼을 놓는 방법은 무엇입니까?라디오 버튼과 라벨을 같은 행에 어떻게 표시합니까?

+0

무엇인가'jtfID''jtfName''jtfIC''jtfAddress', 5 개 행을해야 jp1처럼 보인다? GridLayout에서는 표시하려는 순서대로 구성 요소를 추가해야합니다. – jhamon

+0

@jhamon : 가장 가능성있는'JTextField'입니다. –

+0

당신이 원하거나 당신의 문제가 무엇인지 계획 할 수 있습니까? 그건 조금 불투명합니다 – jhamon

답변

1

JRadioButton을 새 JPanel에 추가하고 그 중 하나를 jp1에 추가하십시오.

JPanel radios = new JPanel(); 
for (int i = 0; i < gender.length; ++i){ 
    jrbGender[i] = new JRadioButton(gender[i]); 
    buttonGroup.add(jrbGender[i]); 
    radios.add(jrbGender[i]); 
} 
jp1.add(radios); 

또한,하지 (6)

JPanel jp1 = new JPanel(new GridLayout(5,2)); 
+0

'radios'도'GridLayout'을 가져야하지 않습니까? 그렇지 않으면 창문이 너무 좁아지면 라디오 버튼이 수직이 될 수 있습니다. – RealSkeptic

+0

음, 그렇습니다. 그러나 그것은 문제가되지 않을 수도 있습니다. –

+0

정말 고마워요;) – user3718809