-Imagino que no podré reutilizar el código que uso para el primer personaje, ya que si lo usara, no tendría 5 personajes por jugador, sino un mismo personaje repetido 5 veces, y no podría usar los botones de cada personaje de forma independiente, por lo que optado por hacerlo de la misma forma que cree el primero, creando un JPanel y añadiéndole un GridBagLayout().
No se si lo que estoy haciendo es correcto, aunque creo que si.
-Tampoco se si hay alguna forma mejor de hacer lo que pretendo o de reutilizar el código.
Aquí os dejo mi código. Gracias a todos!
Código:
public Tab()
{
//subpanel central. central-norte
JPanel subpanelCentral_CentralNorte = new JPanel(); //creamos la estructura
subpanelCentral_CentralNorte.setLayout (new GridBagLayout()); //creamos el esquema de la estructura
//label ataque
GridBagConstraints constraints = new GridBagConstraints();
Label at=new Label();
at.setText("Ataque:");
constraints.gridx = 1; // empieza en la columna cero.
constraints.gridy = 0; // empieza en la fila cero
constraints.gridwidth = 1; // ocupa dos columnas.
constraints.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte.add (at, constraints);
//cajatexto ataque
JTextField ataque = new JTextField("A",1);
constraints.gridx = 1; // empieza en la columna cero.
constraints.gridy = 1; // empieza en la fila cero
constraints.gridwidth = 1; // ocupa dos columnas.
constraints.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte.add (ataque, constraints);
//cajatexto unidad
JTextField unidad = new JTextField("U",1);
constraints.gridx = 0; // empieza en la columna cero.
constraints.gridy = 2; // empieza en la fila cero
constraints.gridwidth = 1; // ocupa dos columnas.
constraints.gridheight = 2; // ocupa 2 filas.
constraints.weighty=1.0;
subpanelCentral_CentralNorte.add (unidad, constraints);
constraints.weighty=0.0;
//boton atacar
JButton bAtacar = new JButton("Atacar");
constraints.gridx = 0; // empieza en la columna cero.
constraints.gridy = 5; // empieza en la fila cero
constraints.gridwidth = 1; // ocupa dos columnas.
constraints.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte.add (bAtacar, constraints);
//boton defender
JButton bDefender = new JButton("Defender");
constraints.gridx = 1; // empieza en la columna cero.
constraints.gridy = 5; // empieza en la fila cero
constraints.gridwidth = 1; // ocupa dos columnas.
constraints.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte.add (bDefender, constraints);
//subpanel central. central-norte
JPanel subpanelCentral_CentralNorte2 = new JPanel(); //creamos la estructura
subpanelCentral_CentralNorte2.setLayout (new GridBagLayout()); //creamos el esquema de la estructura
//cajatexto unidad
JTextField unidad2 = new JTextField("U",1);
constraints2.gridx = 0; // empieza en la columna cero.
constraints2.gridy = 2; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 2; // ocupa 2 filas.
constraints2.weighty=1.0;
subpanelCentral_CentralNorte2.add (unidad2, constraints2);
constraints2.weighty=0.0;
//label defensa
Label de2=new Label();
de.setText("Defensa:");
constraints2.gridx = 1; // empieza en la columna cero.
constraints2.gridy = 2; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (de2, constraints2);
//cajatexto def
JTextField defensa2 = new JTextField("D",1);
constraints2.gridx = 1; // empieza en la columna cero.
constraints2.gridy = 3; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (defensa2, constraints2);
//label vida
Label vi2=new Label();
vi2.setText("Vida Restante:");
constraints2.gridx = 0; // empieza en la columna cero.
constraints2.gridy = 4; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (vi2, constraints2);
//caja texto vida
JTextField vida2 = new JTextField("V",1);//le metemos una casilla
constraints2.gridx = 1; // empieza en la columna cero.
constraints2.gridy = 4; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (vida2, constraints2);
//boton atacar
JButton bAtacar2 = new JButton("Atacar");
constraints2.gridx = 0; // empieza en la columna cero.
constraints2.gridy = 5; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (bAtacar2, constraints2);
//boton defender
JButton bDefender2 = new JButton("Defender");
constraints2.gridx = 1; // empieza en la columna cero.
constraints2.gridy = 5; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (bDefender2, constraints2);
//boton desplazar izq
JButton bDesplazarIzq2 = new JButton("Desplazar Izq");
constraints2.gridx = 0; // empieza en la columna cero.
constraints2.gridy = 6; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (bDesplazarIzq2, constraints2);
//boton desplazar der
JButton bDesplazarDer2 = new JButton("Desplazar Der");
constraints2.gridx = 1; // empieza en la columna cero.
constraints2.gridy = 6; // empieza en la fila cero
constraints2.gridwidth = 1; // ocupa dos columnas.
constraints2.gridheight = 1; // ocupa 2 filas.
subpanelCentral_CentralNorte2.add (bDesplazarDer2, constraints2);
//panel central
//subpanel norte
JPanel subpanelCentral_Norte = new JPanel();
subpanelCentral_Norte.setLayout(new FlowLayout());
subpanelCentral_Norte.add(subpanelCentral_CentralNorte);
subpanelCentral_Norte.add(subpanelCentral_CentralNorte2);
//subpanel central
JPanel subpanelCentral_Centro = new JPanel();
subpanelCentral_Centro.setLayout(new FlowLayout());
JTextArea mensajeEnPartida = new JTextArea(1,20);
mensajeEnPartida.setEditable(false);
Font fuente = new Font ("",Font.BOLD,15);
mensajeEnPartida.setFont(fuente);
subpanelCentral_Centro.add(mensajeEnPartida);
//subpanel sur
JPanel subpanelCentral_Sur = new JPanel();
subpanelCentral_Sur.setLayout(new FlowLayout());
subpanelCentral_Sur.add(subpanelCentral_Norte);
//add(subpanelCentral_CentralNorte);
//panel central
JPanel panelCentral = new JPanel();
panelCentral.setLayout(new BorderLayout());
panelCentral.add(subpanelCentral_Norte,BorderLayout.NORTH);
panelCentral.add(subpanelCentral_Centro,BorderLayout.CENTER);
panelCentral.add(subpanelCentral_Sur,BorderLayout.SOUTH);
//panel oeste
JPanel panelOeste = new JPanel();
panelOeste.setLayout(new FlowLayout());
JButton p = new JButton("Prueba");
panelOeste.add(p);
//panel principal (oeste+central)
setLayout(new BorderLayout());
add(panelCentral,BorderLayout.CENTER);
add(panelOeste,BorderLayout.WEST);
}
}//fin tablero


