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

jLabel y Random

Estas en el tema de jLabel y Random en el foro de Java en Foros del Web. Hola Primero decir q soy muy novato en java , no me abucheeis :(, uso el netbeans Tengo creado un juego de cartas con jLabels ...
  #1 (permalink)  
Antiguo 22/05/2010, 07:57
 
Fecha de Ingreso: junio-2009
Mensajes: 17
Antigüedad: 14 años, 10 meses
Puntos: 0
jLabel y Random

Hola

Primero decir q soy muy novato en java , no me abucheeis :(, uso el netbeans

Tengo creado un juego de cartas con jLabels con sus correspondientes imagenes cada una. me gustaria saber como puedo hacer un Random con dichas cartas, para q me salgan aleatorias cada vez , cada una de ellas.
No se como tratar los jLabels para poder acer el Random aver si alguien me podria dar algunos consejos

Muchas gracias
  #2 (permalink)  
Antiguo 22/05/2010, 10:06
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: jLabel y Random

Hola:

Supongo que quieres elegir cartas, echarlas/mostrarlas en pantalla de alguna manera y que no se repitan. Lo mejor es que "simules" el mazo. Mete en una LinkedList todas las cartas

Código java:
Ver original
  1. LinkedList<Carta> mazo = new LinkedList<Carta>();
  2. mazo.add(unaCarta);
  3. mazo.add(otraCarta);
  4. // y así con todas las cartas, mejor en un bucle para no ponerlas todas de una en una.

Ahora, para repartir o coger cartas del mazo de forma aleatoria, sólo tienes que elegir aleatoriamente.

Código java:
Ver original
  1. // aleatorio entre cero y el numero de cartas que haya en el mazo
  2. int indiceAleatorio = Math.nextInt(mazo.length());

y la retiras

Código java:
Ver original
  1. Carta cartaAMostrar = mazo.get(indiceAleatorio);
  2. mazo.remove(indiceAleatorio);

y así todas las veces que necesites ir sacando cartas del mazo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 23/05/2010, 06:01
 
Fecha de Ingreso: junio-2009
Mensajes: 17
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: jLabel y Random

Tengo 8 cartas q son imagenes en un jLabel, Entiendo lo q me pones de LinkedList

Pero a la hora de añadir el mazo es decir en mazo.add()
Nose q colocar en dentro de los parentesis ya que son jlabel(imagenes) , lo k kiero añadir al mazo


Estoy muy perdido
  #4 (permalink)  
Antiguo 23/05/2010, 09:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: jLabel y Random

En vez de ir cogiendo una u otra con Random y luego borrando la que se ha escogido, parece más sencillo simplemente hacer un shuffle y luego coger los primeros "en orden" ya que será un orden aleatorio.

En cuanto a que meter en el List... pues los JLabel o alguna referencia que te permita saber que JLabel usar. Así de sencillo.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Última edición por GreenEyed; 24/05/2010 a las 03:53
  #5 (permalink)  
Antiguo 23/05/2010, 13:39
 
Fecha de Ingreso: junio-2009
Mensajes: 17
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: jLabel y Random

Tengo esto echo:

jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();

Y kiero ponerlo en una matriz de String:

String[] carta = new String[1];
carta[0] =

Ahora nose como pasar los jLabels a String para q me lo coja la matriz y poder tratarlos
  #6 (permalink)  
Antiguo 23/05/2010, 22:48
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: jLabel y Random

GreenEyed, ¿cómo haces el "shuffle" (entiendo que en cristiano es barajar)?
Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 24/05/2010, 00:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: jLabel y Random

Cita:
java.util.Collections.shuffle(miLista);
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #8 (permalink)  
Antiguo 24/05/2010, 01:37
 
Fecha de Ingreso: junio-2009
Mensajes: 17
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: jLabel y Random

Si yo directamente no puedo desordenar la lista, sino tengo la lista creada pk nose como acerlo con los jLabels :(
  #9 (permalink)  
Antiguo 24/05/2010, 03:55
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: jLabel y Random

La pregunta es, ¿por que quieres pasar los JLabel a String para meterlos en una matriz o lista y no meter directamente los JLabel? Y si necesitas que sean String, ¿que problema hay en relacionar los JLabel con "su String" a través de un Map, por ejemplo?

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #10 (permalink)  
Antiguo 24/05/2010, 04:18
 
Fecha de Ingreso: junio-2009
Mensajes: 17
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: jLabel y Random

Pk nose crear una matriz de jLabel, solo de Strings o ints

String[] esta = new String[5];
esta[0] = .....

Pero si intengo ponerle los jLabel ahi no me los coje, solo me coje Strings
  #11 (permalink)  
Antiguo 24/05/2010, 06:39
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: jLabel y Random

¿Has probado con JLabel[] arrayDeJLabel = new JLabel[5]?
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #12 (permalink)  
Antiguo 28/05/2010, 02:19
 
Fecha de Ingreso: junio-2009
Mensajes: 17
Antigüedad: 14 años, 10 meses
Puntos: 0
Mensaje Respuesta: jLabel y Random

Cita:
Iniciado por GreenEyed Ver Mensaje
¿Has probado con JLabel[] arrayDeJLabel = new JLabel[5]?
Muchas gracias ya e logrado hacer la matriz con jlabel y el random , me a kedado asi

String[] nomImagen ={"1.jpg", "2.jpg", "3.jpg",
"4.jpg", "5.jpg", "6.jpg", "7.jpg",
"8.jpg", "9.jpg","10.jpg"};

JLabel[] mat = {user1,user2,user3,user4,user5,user6,user7,user8,u ser9,user10};

ArrayList<String> miarray = new ArrayList();
miarray.add(0, nomImagen[5]);
miarray.add(1, nomImagen[6]);
miarray.add(2, nomImagen[7]);
miarray.add(3, nomImagen[1]);
miarray.add(4, nomImagen[2]);
miarray.add(5, nomImagen[3]);
miarray.add(6, nomImagen[0]);
miarray.add(7, nomImagen[4]);
miarray.add(8, nomImagen[8]);
miarray.add(9, nomImagen[9]);

for(int i=0; i<9; i++){
Random rmd = new Random();
int nombre = (int) (rmd.nextDouble() * 10.0+1);


[I]mat.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/"+miarray.get(nombre))));
miarray.remove(nombre);
}
mat[9].setIcon(newjavax.swing.ImageIcon(getClass().getRe source("/imagenes/"+miarray.get(0))));


Pero ahora me da error al ejecutar en la linea del mat[i], q e puesto en negrita cursiva, aver sabria decirme pk?

gracias
  #13 (permalink)  
Antiguo 28/05/2010, 07:51
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: jLabel y Random

Pues si nos dices el error.....

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #14 (permalink)  
Antiguo 08/10/2010, 03:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: jLabel y Random

hola, yo tengo k hacer algo parecido para clase, pero he llegado a un punto muerto
lo que tengo que hacer es lo siguiente.
1. al ejecutar el programa se ve un tablero con todas las cartas repartidas ordenadas( esta parte mas o menos ya la tengo definida, es una arraid de JLabels con icono)
2. estas cartas se recojen.
3. estas cartas se barajan (esto no se tiene que ver, solo se tienen que mezclar)
4. las cartas se tienen que repartir todas a 4 jugadores.

y el problema es que no se como reutilizar codigo.
creo el arraid de jlabel, y les insert una imagen, pero solo lo se crear en un sitio o no me funciona, y donde lo creo no puedo retornar los valores para usarlo mas tarde.

si lo hago en otro sitio, entonces si puedo conservar los balores, pero no se mostrarlos en el Jpanel

me podeis ayudar????

gracias por todo

Etiquetas: jlabel, random
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 21:13.