La idea es la siguiente:
Crear objeto del panel jpanel;
Use el método SetLayout (0,4) de la clase JPanel para establecer el Administrador de diseño de la cuadrícula, es decir, el número de columnas es 4, y el número de filas se ajusta automáticamente;
Cree una matriz unidimensional de tipo cadena como una matriz de texto de control;
Cree una matriz unidimensional de tipo JCHECKBOX como una matriz de control;
Use el bucle for for bucle a través de la matriz de control, inicialice el componente de casilla de verificación en la matriz y agregue los elementos de la matriz (es decir, cada casilla de verificación) al panel usando el método add () de la clase jpanel.
El código es el siguiente:
La copia del código es la siguiente:
paquete cn.edu.xidian.crytoll;
import java.awt.borderlayut;
import java.awt.eventqueue;
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;
Public Class CheckBoxArray extiende JFrame {
/**
*
*/
Private estático final Long SerialVersionUid = -5338362310060106193l;
JPANEL ContentPane privado;
Panel de jpanel privado;
/**
* Iniciar la aplicación.
*/
public static void main (string [] args) {
intentar {
UiManager
.setlookandFeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} Catch (lanzable e) {
E.PrintStackTrace ();
}
EventQueue.invokelater (new Runnable () {
public void run () {
intentar {
CheckBoxArray Frame = new CheckBoxArray ();
Frame.SetVisible (verdadero);
} Catch (Exception e) {
E.PrintStackTrace ();
}
}
});
}
/**
* Crea el marco.
*/
Public CheckBoxArray () {
settitle ("Agregue múltiples controles de casilla de verificación a través de la matriz de control de casilla de verificación");
setDefaultCloseOperation (jframe.exit_on_close);
SetBounds (100, 100, 409, 331);
contentPane = new JPanel ();
ContentPane.setBorder (nuevo vacío (5, 5, 5, 5));
contentPane.setLayout (nuevo BorderLayout (0, 0));
setContentPane (contentPane);
Jlabel Label = new JLabel (
"¿Cuáles son tus pasatiempos:");
contentpane.add (etiqueta, borderLayout.north);
contentpane.add (getPanel (), borderLayout.center);
}
jpanel privado getPanel () {
if (panel == null) {
panel = nuevo JPanel (); // Crear objeto Panel
panel.setLayout (nuevo GridLayout (0, 4)); // Establezca el Administrador de diseño de la cuadrícula
// Crear matriz de texto de control
String [] etiquetas = {"fútbol", "baloncesto", "magia", "tenis de mesa", "película", "World of Warcraft", "CS Team",
"Bádminton", "natación", "viajar", "escalar", "cantar", "blogging", "animal mundo", "fotografiar", "guitarra",
"Lectura de los periódicos", "carreras", "compras", "compras en centros comerciales", "mahjong", "lectura de libros", "buscando información en línea", "noticias", "militar",
"Gagram", "Preservación de la salud", "beber té"};
JCheckbox [] cajas = new JCheckbox [Labels.length]; // Cree una matriz de controles
para (int i = 0; i <boxes.length; i ++) {// atraviesa la matriz de control
casillas [i] = new JCheckbox (etiquetas [i]); // Inicializar el componente de casilla de verificación en la matriz
panel.add (casillas [i]); // Agregar elementos de matriz (es decir, cada casilla de verificación) al panel
}
}
panel de regreso;
}
}