Idenya adalah sebagai berikut:
Buat Objek Panel JPanel;
Gunakan metode setLayout (0,4) dari kelas JPanel untuk mengatur manajer tata letak grid, yaitu, jumlah kolom adalah 4, dan jumlah baris secara otomatis disesuaikan;
Buat array satu dimensi tipe string sebagai array teks kontrol;
Buat array satu dimensi tipe JCheckBox sebagai array kontrol;
Gunakan loop untuk loop melalui array kontrol, inisialisasi komponen kotak centang dalam array, dan tambahkan elemen array (mis. Setiap kotak centang) ke panel menggunakan metode add () dari kelas JPanel.
Kodenya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
paket cn.edu.xidian.crytoll;
impor java.awt.borderlayout;
impor java.awt.eventqueue;
impor java.awt.gridlayout;
impor javax.swing.jcheckbox;
impor javax.swing.jframe;
impor javax.swing.jpanel;
impor javax.swing.border.emptyborder;
impor javax.swing.jlabel;
impor javax.swing.uimanager;
Kelas publik CHECKBOXArray memperluas jframe {
/**
*
*/
SerialVersionuid Long Statis Pribadi = -5338362310060106193L;
ContentPane Jpanel Pribadi;
panel jpanel pribadi;
/**
* Luncurkan aplikasi.
*/
public static void main (string [] args) {
mencoba {
Uimanager
.setLookandFeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch (Throwable e) {
e.printstacktrace ();
}
Eventqueue.invokelater (runnable baru () {
public void run () {
mencoba {
Centang bingkai = bingkai centang newboxArray ();
frame.setVisible (true);
} catch (Exception e) {
e.printstacktrace ();
}
}
});
}
/**
* Buat bingkai.
*/
Public CheckboxArray () {
settitle ("Tambahkan beberapa kontrol kotak centang melalui array kontrol kotak centang");
setDefaultCloseOperation (jframe.exit_on_close);
setbounds (100, 100, 409, 331);
ContentPane = jpanel baru ();
contentpane.setborder (baru kosong (5, 5, 5, 5));
ContentPane.setLayout (BorderLayout baru (0, 0));
setContentPane (ContentPane);
Label jlabel = jlabel baru (
"Apa hobi Anda:");
contentpane.add (label, borderlayout.north);
contentpane.add (getPanel (), borderlayout.center);
}
private jpanel getPanel () {
if (panel == null) {
panel = jpanel baru (); // buat objek panel
Panel.setLayout (New GridLayout (0, 4)); // Setel Grid Layout Manager Grid
// Buat array teks kontrol
String [] label = {"sepak bola", "bola basket", "sihir", "tenis meja", "film", "World of Warcraft", "CS Team",
"Badminton", "Swimming", "Travelling", "Climbing", "Singing", "Blogging", "Animal World", "Photographing", "Playing Guitar",
"Reading Newspapers", "Racing", "Shopping", "Shopping in Malls", "Mahjong", "Reading Books", "Looking Online Information", "News", "Military",
"Gagram", "pelestarian kesehatan", "minum teh"};
Jcheckbox [] boxes = jcheckbox baru [label.length]; // Buat array kontrol
untuk (int i = 0; i <boxes.length; i ++) {// traverse array kontrol
kotak [i] = JCheckBox baru (label [i]); // inisialisasi komponen kotak centang dalam array
panel.add (kotak [i]); // Tambahkan elemen array (mis. Setiap kotak centang) ke panel
}
}
Panel Kembali;
}
}