A idéia é a seguinte:
Crie objeto de painel JPanel;
Use o método setLayout (0,4) da classe JPanel para definir o gerenciador de layout da grade, ou seja, o número de colunas é 4 e o número de linhas é ajustado automaticamente;
Crie uma matriz unidimensional do tipo string como uma matriz de texto de controle;
Crie uma matriz unidimensional do tipo Jcheckbox como uma matriz de controle;
Use o loop for loop através da matriz de controle, inicialize o componente da caixa de seleção na matriz e adicione os elementos da matriz (ou seja, cada caixa de seleção) ao painel usando o método Add () da classe jPanel.
O código é o seguinte:
A cópia do código é a seguinte:
pacote cn.edu.xidian.crytoll;
importar java.awt.borderlayout;
importar java.awt.eventqueue;
importar java.awt.gridlayout;
importar javax.swing.jcheckbox;
importar javax.swing.jframe;
importar javax.swing.jpanel;
importar javax.swing.border.emptyborder;
importar javax.swing.jlabel;
importar javax.swing.uimanager;
classe pública Checkboxarray estende JFrame {
/**
*
*/
private estático final serialversionUid = -5338362310060106193L;
PRIVADO JPALEL CONTENTPANE;
Painel JPanel privado;
/**
* Inicie o aplicativo.
*/
public static void main (string [] args) {
tentar {
Uimanager
.SetLookAndFeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch (jogável e) {
E.PrintStackTrace ();
}
EventQueue.invokelater (new Runnable () {
public void run () {
tentar {
CheckboxArray Frame = new CheckBoxarray ();
frame.setVisible (true);
} catch (Exceção e) {
E.PrintStackTrace ();
}
}
});
}
/**
* Crie o quadro.
*/
public checkboxarray () {
Settitle ("Adicione vários controles de caixa de seleção através da matriz de controle da caixa de seleção");
setDefaultCloseoperation (jframe.exit_on_close);
Setbounds (100, 100, 409, 331);
contentPane = new jpanel ();
contentPane.setborder (New Emptyborder (5, 5, 5, 5));
contentPane.setLayout (new BorderLayout (0, 0));
setContentPane (contentPane);
Rótulo Jlabel = New Jlabel (
"Quais são seus hobbies:");
contentPane.add (Label, borderlayout.north);
contentPane.add (getPanel (), borderlayout.center);
}
private jpanel getpanel () {
if (painel == null) {
Painel = new JPanel (); // Crie painel
painel.setLayout (New GridLayout (0, 4)); // Defina o gerenciador de layout da grade
// Crie uma matriz de texto de controle
String [] Labels = {"Football", "Basketball", "Magic", "Table Tennis", "Movie", "World of Warcraft", "CS Team",
"Badminton", "Swimming", "Viajando", "Escalando", "Cantando", "Blogging", "Animal World", "Fotografando", "Tocando Guitarra",
"Leitura de jornais", "Racing", "Compras", "Compras em shoppings", "Mahjong", "Reading Books", "Looking Online Information", "News", "Military",
"Gagram", "Preservação da Saúde", "Bebing Tea"};
Jcheckbox []
for (int i = 0; i <boxes.length; i ++) {// atravessar a matriz de controle
caixas [i] = new jCheckBox (rótulos [i]); // inicialize o componente da caixa de seleção na matriz
painel.add (caixas [i]); // Adicionar elementos de matriz (ou seja, cada caixa de seleção) ao painel
}
}
painel de retorno;
}
}