2015-02-04 3 views
0

5 개의 다른 확인란을 표시하는 JFrame이 필요합니다. 여러 개의 확인란을 선택할 수 있어야합니다. 이 코드는 ExchangingCard1 행을 읽고 다른 모든 확인란을 무시합니다. 그것을 실행할 때 "A"가있는 문자가있는 확인란이 하나만 있습니다. 기본적으로 중앙에 항목을 추가 기본 사용 BorderLayoout에 의해JFrame - 화면에 체크 박스 추가하기

JCheckBox ExchangingCard1 = new JCheckBox("A"); 
JCheckBox ExchangingCard2 = new JCheckBox("B"); 
JCheckBox ExchangingCard3 = new JCheckBox("C"); 
JCheckBox ExchangingCard4 = new JCheckBox("D"); 
JCheckBox ExchangingCard5 = new JCheckBox("E"); 

JFrame frame = new JFrame(); 
frame.setSize(500, 500); 
frame.setTitle("Exchange."); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

frame.add(ExchangingCard1); 
frame.setVisible(true); 
frame.add(ExchangingCard2); 
frame.setVisible(true); 
frame.add(ExchangingCard3); 
frame.setVisible(true); 
frame.add(ExchangingCard4); 
frame.setVisible(true); 
frame.add(ExchangingCard5); 
frame.setVisible(true); 

답변

2

FlowLayout 다음, JPanel과의 체크 박스를 넣어 JFrame의에 JPanel을 넣어보십시오 읽어보십시오.

다음은 실행 가능한 예입니다.

package com.ggl.testing; 

import java.awt.BorderLayout; 

import javax.swing.JCheckBox; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.SwingUtilities; 

public class CheckBoxTest2 implements Runnable { 

    private JFrame frame; 

    @Override 
    public void run() { 
     frame = new JFrame("Check Box Test"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JPanel mainPanel = new JPanel(); 
     mainPanel.setLayout(new BorderLayout()); 

     JPanel checkBoxPanel = new JPanel(); 

     JCheckBox exchangingCard1 = new JCheckBox("A"); 
     checkBoxPanel.add(exchangingCard1); 
     JCheckBox exchangingCard2 = new JCheckBox("B"); 
     checkBoxPanel.add(exchangingCard2); 
     JCheckBox exchangingCard3 = new JCheckBox("C"); 
     checkBoxPanel.add(exchangingCard3); 
     JCheckBox exchangingCard4 = new JCheckBox("D"); 
     checkBoxPanel.add(exchangingCard4); 
     JCheckBox exchangingCard5 = new JCheckBox("E"); 
     checkBoxPanel.add(exchangingCard5); 

     mainPanel.add(checkBoxPanel); 

     frame.add(mainPanel); 

     frame.pack(); 
     frame.setLocationByPlatform(true); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new CheckBoxTest2()); 
    } 

} 
관련 문제