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

Obtener Nombre del Color de un JLabel

Estas en el tema de Obtener Nombre del Color de un JLabel en el foro de Java en Foros del Web. He utilizado: Código: label.getBackground().toString(); y label.getColorModel().toString(); Me entregan algo así Código: java.awt.Color[r=255,g=255,b=255] Lo que necesito es el nombre del color. Por ejemplo "yellow" para poder ...
  #1 (permalink)  
Antiguo 16/03/2013, 18:13
 
Fecha de Ingreso: enero-2013
Ubicación: Chile
Mensajes: 29
Antigüedad: 11 años, 3 meses
Puntos: 0
Obtener Nombre del Color de un JLabel

He utilizado:

Código:
label.getBackground().toString();
y
 label.getColorModel().toString();
Me entregan algo así

Código:
java.awt.Color[r=255,g=255,b=255]
Lo que necesito es el nombre del color. Por ejemplo "yellow" para poder compararlo en un if.


Saludos y muchas gracias!
  #2 (permalink)  
Antiguo 16/03/2013, 23:42
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Obtener Nombre del Color de un JLabel

Hola:

No puedes así tan fácil. Tendrías que tener una lista de nombre de colores, con sus equivalentes RGB e ir comparando para ver a cual corresponde.

Una forma "sencilla" de hacerlo para un número limitado de colores es ir comparando el color del JLabel con cada uno de los colores predefinidos que tiene la clase color http://docs.oracle.com/javase/6/docs...awt/Color.html , por ejemplo

Código java:
Ver original
  1. if (Color.YELLOW.equals(label.getBackground()) {
  2.     // es amarillo
  3. }

para no ir uno por uno, puedes hacer un par de arrrays, uno de String con los nombres y otro con los colores. Luego en un bucle comparar

Código java:
Ver original
  1. String [] nombres = {"negro", "amarillo", ....};
  2. Color [] colores = {Color.BLACK, Color.YELLOW, ...};
  3.  
  4. Color colorLabel = label.getBackground();
  5. for (for int i=0;i<colores.length; i++) {
  6.     if (colorles[i].equals(colorLabel)) {
  7.           // es de color nombres[i];
  8.           break; // No seguir con el bucle.
  9.     }
  10. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 19/03/2013, 08:57
 
Fecha de Ingreso: enero-2013
Ubicación: Chile
Mensajes: 29
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Obtener Nombre del Color de un JLabel

Creo que habia encontrado la solucion en tu pagina! Muchas gracias, realmente me has ayudado demasiado estos ultimos meses. Un Abrazo compañero, sigue asi!



Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

No puedes así tan fácil. Tendrías que tener una lista de nombre de colores, con sus equivalentes RGB e ir comparando para ver a cual corresponde.

Una forma "sencilla" de hacerlo para un número limitado de colores es ir comparando el color del JLabel con cada uno de los colores predefinidos que tiene la clase color [url]http://docs.oracle.com/javase/6/docs/api/java/awt/Color.html[/url] , por ejemplo

Código java:
Ver original
  1. if (Color.YELLOW.equals(label.getBackground()) {
  2.     // es amarillo
  3. }

para no ir uno por uno, puedes hacer un par de arrrays, uno de String con los nombres y otro con los colores. Luego en un bucle comparar

Código java:
Ver original
  1. String [] nombres = {"negro", "amarillo", ....};
  2. Color [] colores = {Color.BLACK, Color.YELLOW, ...};
  3.  
  4. Color colorLabel = label.getBackground();
  5. for (for int i=0;i<colores.length; i++) {
  6.     if (colorles[i].equals(colorLabel)) {
  7.           // es de color nombres[i];
  8.           break; // No seguir con el bucle.
  9.     }
  10. }

Se bueno.

Etiquetas: color, jlabel, nombre
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 03:28.