En Java, quiero configurar una variable que pueda almacenar varios enteros (valores RGB) y los enteros están separados por comas. Por ejemplo, mi código actual es como

background(255,255,0);  // This changes my GUI background color to yellow.

El código que quiero es

type yellow = (Here goes the yellow's RGB value 255,255,0)
background(yellow);

Mi pregunta es cómo configurar la variable amarillo para que pueda reemplazar los valores RGB reales. Gracias.

2
zym 28 ene. 2016 a las 13:08

3 respuestas

La mejor respuesta

Todas las respuestas que obtuviste hasta ahora resuelven de alguna manera el problema que describiste. Pero el problema es que no son realmente útiles.

Nunca coloque información en cadenas y confíe en analizarlas. Si realmente quieres hacer eso; entonces realmente no necesita toda la sobrecarga de un lenguaje compilado estáticamente como java. Entonces es mucho mejor usar lenguajes como python, ruby ... que le permiten manejar información "en cadena" mucho más fácil.

Lo que quiere hacer es: aprender sobre la orientación a objetos. Entonces, quieres representar colores. Luego modele una clase que represente un color. Eso podría verse de alguna manera como:

public class Color {
  private final int r, g, b;
  public Color(int r, ... {
    this.r = r

Y así. Entonces puedes escribir un color como

Color yellow = new Color(255,255,0)

Infierno; incluso podría iniciar y declarar constantes que representan colores predefinidos útiles.

Ya sabes, como la clase existente de AWT Color de Java.

Entonces: tómese el tiempo para aprender y comprender los conceptos de los que estoy hablando; y tenga en cuenta: usar cadenas para tales fines es absolutamente malo .

7
GhostCat 28 ene. 2016 a las 10:22

Bueno, creo que tuviste buenas respuestas para tu pregunta. Pero solo para agregar, mencionaste que estás trabajando en un programa GUI, supongo que estás usando swings, simplemente puedes llamar al método

setBackground(Color.yellow);

En todos los objetos que se crean usando clases que heredan de Component.

-1
Zafer Khourdaji 28 ene. 2016 a las 10:43

El procesamiento ya tiene un tipo color que debe usar; no debe crear el suyo propio ni usar java.awt.Color

En su lugar, utilice el tipo color existente y la función color():

color yellow = color(255, 255, 0);
background(yellow);

Puede encontrar más información en la referencia de procesamiento.

3
Kevin Workman 28 ene. 2016 a las 16:27