Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Consulta agregando un label

Hola gente, estoy haciendo una GUI en el cual tengo que mostrar un mapa. Cuando creo el mapa, los países son representados con labels, cada uno debería tener el nombre del país y el color del jugador del cual tenga el control de este.
Logro crear todo el mapa a la perfección, el único inconveniente es que al crear los labels para cada país, solo puedo crearlos con el nombre del pais coloreado y el fondo gris por defecto, o con todo el label del color del jugador pero sin mostrar el nombre del pais. El método completo para crear el mundo este:
public void crearMundo(final Teg teg1){
int z=0;
for(int i=0;i<(11);i++){
for(int j=0;j<16;j++)
{
int[] aux=new int[2];
aux[0]=i;
aux[1]=j;


for(Pais o: teg1.getPaises())
{ z=0;
if(o.getZona(0)==aux[0]&&o.getZona(1)==aux[1]){
for(Jugador ju: teg1.getJugadores())
{
for(Pais pa: ju.getPaises())
{
if(o.getNombrePais() == pa.getNombrePais())
{
if(ju.getColor()=="Rojo")
{
mundo.add(new JLabel(o.getNombrePais()+": "+Integer.toString(o.getEjercito()),fondoRojo,SwingConstants.CENTER ));
}
if(ju.getColor()=="Azul")
{
mundo.add(new JLabel(o.getNombrePais()+": "+Integer.toString(o.getEjercito()))).setForeground(Color.blue);
}
if(ju.getColor()=="Verde")
{
mundo.add(new JLabel(o.getNombrePais()+": "+Integer.toString(o.getEjercito()))).setForeground(Color.green);
}
if(ju.getColor()=="Negro")
{
mundo.add(new JLabel(o.getNombrePais()+": "+Integer.toString(o.getEjercito()))).setForeground(Color.BLACK);
}

}
}
}

}

}

for(Puente o: teg1.getPuentes())
{
if(o.getZona(0)==aux[0]&&o.getZona(1)==aux[1]){
if(o.getVerhor()==1)
{
mundo.add(new JLabel(puenteVertical));
}
if(o.getVerhor()==2)
{
mundo.add(new JLabel(puenteHorizontal));
}

z=1;
break;
}

}

if(z==0){
//mundo.add(new JLabel(Integer.toString(i) + "-" +Integer.toString(j)));
mundo.add(new JLabel(agua));
}
}
}

}

con esta linea de código logro que el fondo sea solo rojo, pero no diga el nombre del pais:
mundo.add(new JLabel(o.getNombrePais()+": "+Integer.toString(o.getEjercito()),fondoRojo,SwingConstants.CENTER ));

y con esta solo logro mostrar el nombre coloreado y el fondo por defecto gris:
mundo.add(new JLabel(o.getNombrePais()+": "+Integer.toString(o.getEjercito()))).setForeground(Color.blue);


llevo varios intentos tratando de cambiarlo y no veo la solucion, alguna ayuda? Muchas gracias

Saludos!!!

agosto 18, 2015 | Unregistered CommenterJuan