Foros del Web » Programación para mayores de 30 ;) » Java »

Añadir personaje al tablero, ¿error GridBagLayout?

Estas en el tema de Añadir personaje al tablero, ¿error GridBagLayout? en el foro de Java en Foros del Web. Buenas, sigo poco a poco con mi juego básico. Ya casi he terminado de desarrollar la interfaz, solo hay una cosa que no se que ...
  #1 (permalink)  
Antiguo 10/08/2013, 09:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 15 años, 6 meses
Puntos: 1
Añadir personaje al tablero, ¿error GridBagLayout?

Buenas, sigo poco a poco con mi juego básico. Ya casi he terminado de desarrollar la interfaz, solo hay una cosa que no se que hacer. He dividido el trablero en 2 partes (Oeste y Centro), La parte Oeste es para la configuración del juego, y la Centro es el tablero. A a su vez, la parte central está dividido en 3 (Norte, Centro y Sur). Norte y Sur son una serie de casillas donde se colocan los personajes del juego. He desarrollado el primer "personaje" (una caja de texto con botones que tendrán efectos sobre esa caja), la cosa es que cada jugador tendrá 5 personajes, es decir, 5 casillas con sus botones en la zona Norte y 5 en la Sur. Una vez explicado lo que tengo y lo que pretendo aquí vienen mis dudas.

-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

Última edición por Olbapk; 10/08/2013 a las 09:58

Etiquetas: personaje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:02.