アイデアは次のとおりです。
JPanelパネルオブジェクトを作成します。
jPanelクラスのSetLayout(0,4)メソッドを使用して、グリッドレイアウトマネージャーを設定します。つまり、列の数は4で、行数は自動的に調整されます。
コントロールテキスト配列として文字列タイプの1次元配列を作成します。
コントロール配列としてJCheckboxタイプの1次元配列を作成します。
forループを使用して、コントロール配列をループし、配列のチェックボックスコンポーネントを初期化し、jPanelクラスのADD()メソッドを使用して配列要素(つまり、各チェックボックス)をパネルに追加します。
コードは次のとおりです。
コードコピーは次のとおりです。
パッケージcn.edu.xidian.crytoll;
java.awt.borderlayoutをインポートします。
java.awt.eventqueueをインポートします。
java.awt.gridlayoutをインポートします。
javax.swing.jcheckboxをインポートします。
javax.swing.jframeをインポートします。
javax.swing.jpanelをインポートします。
javax.swing.border.emptyborderをインポートします。
javax.swing.jlabelをインポートします。
javax.swing.uimanagerをインポートします。
パブリッククラスのチェックボックスアレイはjframeを拡張します{
/**
*
*/
private static final long serialversionuid = -5338362310060106193l;
プライベートJPanel ContentSpane;
プライベートJPanelパネル。
/**
*アプリケーションを起動します。
*/
public static void main(string [] args){
試す {
uimanager
.setlookandfeel( "com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch(スロー可能なe){
e.printstacktrace();
}
eventqueue.invokelater(new runnable(){
public void run(){
試す {
CheckboxArray frame = new CheckboxArray();
frame.setVisible(true);
} catch(例外e){
e.printstacktrace();
}
}
});
}
/**
*フレームを作成します。
*/
public checkboxarray(){
Settitle( "チェックボックス制御配列を介して複数のチェックボックスコントロールを追加");
setDefaultCloseoperation(jframe.exit_on_close);
セットバウンド(100、100、409、331);
contentSpane = new JPanel();
contentSpane.setborder(新しいemptyborder(5、5、5、5));
contentSpane.setLayout(new borderlayout(0、0));
setContentPane(contentSpane);
Jlabel label = new Jlabel(
「あなたの趣味は何ですか:」);
contentSpane.add(label、borderlayout.north);
contentSpane.add(getPanel()、borderlayout.center);
}
private jpanel getpanel(){
if(panel == null){
パネル= new JPanel(); //パネルオブジェクトを作成します
panel.setlayout(new gridlayout(0、4)); //グリッドレイアウトマネージャーを設定します
//コントロールテキスト配列を作成します
string [] labels = {"football"、 "basketball"、 "magic"、 "table Tennis"、 "movie"、 "World of Warcraft"、 "CS Team"、
「バドミントン」、「水泳」、「旅行」、「登山」、「歌う」、「ブログ」、「動物の世界」、「写真の撮影」、「ギターの演奏」、
「新聞を読む」、「レーシング」、「ショッピング」、「モールでのショッピング」、「マジョン」、「本を読む」、「オンライン情報の見栄え」、「ニュース」、「軍事」、
「Gagram」、「健康保存」、「お茶を飲む」};
jcheckbox [] boxes = new jcheckbox [labels.length]; //コントロールの配列を作成する
for(int i = 0; i <boxes.length; i ++){//コントロールアレイをトラバース
ボックス[i] = new JCheckbox(ラベル[i]); //配列のチェックボックスコンポーネントの初期化
panel.add(boxs [i]); //配列要素(つまり、各チェックボックス)をパネルに追加します
}
}
返品パネル。
}
}