아이디어는 다음과 같습니다.
jpanel 패널 개체 생성;
JPANEL 클래스의 SetLayout (0,4) 메소드를 사용하여 그리드 레이아웃 관리자를 설정하십시오. 즉, 열 수는 4이고 행 수는 자동으로 조정됩니다.
제어 텍스트 배열로 문자열 유형 1 차원 배열을 만듭니다.
컨트롤 배열로 jcheckbox 유형의 1 차원 배열을 만듭니다.
For Loop을 사용하여 제어 배열을 통해 루프를 사용하고 배열에서 확인란 구성 요소를 초기화 한 다음 JPANEL 클래스의 add () 메소드를 사용하여 배열 요소 (즉, 각 확인란)를 패널에 추가하십시오.
코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
패키지 cn.edu.xidian.crytoll;
java.awt.borderlayout import;
java.awt.eventqueue import;
import java.awt.gridlayout;
import javax.swing.jcheckbox;
import javax.swing.jframe;
import javax.swing.jpanel;
import javax.swing.border.emptyborder;
import javax.swing.jlabel;
import javax.swing.uimanager;
공개 클래스 checkboxArray 확장 jframe {
/**
*
*/
개인 정적 최종 최종 긴 SerialversionUID = -5338362310060106193L;
개인 jpanel contentpane;
개인 JPANEL 패널;
/**
* 응용 프로그램을 시작하십시오.
*/
public static void main (String [] args) {
노력하다 {
uimanager
.SetLookandFeel ( "com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch (Throwable e) {
e.printstacktrace ();
}
eventqueue.invokelater (new Runnable () {
public void run () {
노력하다 {
CheckBoxArray 프레임 = 새 CheckBoxArray ();
frame.setVisible (true);
} catch (예외 e) {
e.printstacktrace ();
}
}
});
}
/**
* 프레임을 만듭니다.
*/
public CheckBoxArray () {
Settitle ( "확인란 제어 어레이를 통해 여러 확인란 컨트롤 추가");
setDefaultCloseOperation (jframe.exit_on_close);
세트 바운드 (100, 100, 409, 331);
ContentPane = 새로운 jpanel ();
ContentPane.SetBorder (New Emptyborder (5, 5, 5, 5));
ContentPane.SetLayout (New BorderLayout (0, 0));
SetContentPane (ContentPane);
Jlabel 레이블 = New Jlabel (
"당신의 취미는 무엇입니까 :");
contentpane.add (label, borderlayout.north);
contentpane.add (getPanel (), BorderLayout.Center);
}
개인 jpanel getPanel () {
if (panel == null) {
PANIL = New JPanel (); // 패널 개체 생성
PALEN.SETLAYOUT (New GridLayout (0, 4)); // 그리드 레이아웃 관리자를 설정합니다
// 제어 텍스트 배열을 만듭니다
문자열 [] labels = { "축구", "농구", "매직", "테이블 테니스", "영화", "월드 오브 워크래프트", "CS 팀",
"배드민턴", "수영", "여행", "클라이밍", "노래", "블로그", "동물 월드", "사진", "기타 연주",
"읽기 신문", "레이싱", "쇼핑", "쇼핑 쇼핑", "마호 그 쇼", "읽기 책", "온라인 정보보기", "뉴스", "군사", "군사",
"Gagram", "건강 보존", "차 마시는 차"};
jcheckbox [] boxes = new Jcheckbox [labels.length]; // 컨트롤 배열 생성
for (int i = 0; i <boxes.length; i ++) {// 제어 배열을 통과
상자 [i] = 새로운 jcheckbox (labels [i]); // 배열에서 확인란 구성 요소 초기화
panne.add (boxs [i]); // 패널에 배열 요소 (즉, 각 확인란) 추가
}
}
리턴 패널;
}
}