Die Idee ist wie folgt:
JPanel -Panel -Objekt erstellen;
Verwenden Sie die SetLayout (0,4) -Methode der JPanel -Klasse, um den Grid -Layout -Manager festzulegen, dh die Anzahl der Spalten 4 und die Anzahl der Zeilen wird automatisch eingestellt.
Erstellen Sie ein eindimensionales Array vom String-Typ als Steuertextarray.
Erstellen Sie ein eindimensionales Array vom Typ JCheckbox als Steuerarray;
Verwenden Sie die für die Schleife zum Schleifen durch das Steuerarray, initialisieren Sie die Kontrollkästchenkomponente im Array und fügen Sie die Array -Elemente (d. H. Jedes Kontrollkästchen) mit der Methode add () der JPanel -Klasse zum Feld hinzu.
Der Code ist wie folgt:
Die Codekopie lautet wie folgt:
Paket cn.edu.xidian.crytoll;
Import Java.awt.BorderLayout;
Import Java.awt.Eventqueue;
importieren java.awt.gridlayout;
importieren javax.swing.jcheckbox;
importieren javax.swing.jframe;
import Javax.swing.jpanel;
import Javax.swing.border.EmptyBorder;
import Javax.swing.jlabel;
import Javax.swing.uimanager;
Public Class CheckBoxArray erweitert JFrame {
/**
*
*/
Private statische endgültige lange Serialversionuid = -5338362310060106193L;
Private Jpanel ContentPane;
Privat JPanel Panel;
/**
* Starten Sie die Anwendung.
*/
public static void main (String [] args) {
versuchen {
Uimanager
.setlookandfeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch (throwable e) {
E. printstacktrace ();
}
EventQueue.invokelater (new Runnable () {
public void run () {
versuchen {
CheckBoxArray Frame = new CheckBoxArray ();
Frame.SetVisible (True);
} catch (Ausnahme e) {
E. printstacktrace ();
}
}
});
}
/**
* Erstellen Sie den Rahmen.
*/
public CheckBoxArray () {
SETITLE ("Mehrere Kontrollkästchen über das Kontrollkästchen -Steuerungsarray hinzufügen");
setDefaultCloseOperation (jframe.exit_on_close);
Setbounds (100, 100, 409, 331);
contentPane = new jpanel ();
ContentPane.SetBorder (neuer leererBorder (5, 5, 5, 5));
contentPane.setLayout (neuer BorderLayout (0, 0));
setContentPane (contentPane);
JLabel Label = new JLabel (
"Was sind deine Hobbys:");
contentPane.add (Etikett, borderLayout.north);
contentPane.add (getPanel (), BorderLayout.Center);
}
Private jpanel getPanel () {
if (panel == null) {
Panel = new jpanel (); // Panel -Objekt erstellen
Panel.SetLayout (neuer GridLayout (0, 4)); // Setzen Sie den Grid -Layout -Manager
// Steuertextarray erstellen
String [] LaDels = {"Fußball", "Basketball", "Magie", "Tischtennis", "Film", "World of Warcraft", "CS -Team",
"Badminton", "Schwimmen", "Reisen", "Klettern", "singen", "Bloggen", "Animal World", "Fotografieren", "Gitarre spielen",
"Newspapers Reading", "Rennen", "Einkaufen", "Einkaufen in Einkaufszentren", "Mahjong", "Bücher lesen", "Online -Informationen", "News", "Military",
"Gagram", "Gesundheitskonservierung", "Tee trinken"};
JCheckbox [] Boxen = new jCheckBox [Labels.length]; // Erstellen Sie ein Array von Steuerelementen
für (int i = 0; i <Boxes.length; i ++) {// Überqueren Sie das Kontrollarray
Kästchen [i] = new JCheckBox (Beschriftungen [i]); // Initialisieren Sie die Kontrollkästchen -Komponente im Array
Panel.Add (Boxs [i]); // Array -Elemente (d. H. Jedes Kontrollkästchen) zum Feld hinzufügen
}
}
Rückgabepanel;
}
}