Hola, buenas. Vengo a pedir ayuda con un problemita que no he podido resolver, estoy creando un típico programa para dibujar figuras en NetBeans, esa parte ya la he realizado, lo que busco es que se visualicen dependiendo del color que se seleccione aquí:
(http://i.imgur.com/OFHk35e.png)
Ahora mismo el color con el que se dibujan son predeterminados por mi, alguna forma de hacer que el usuario lo elija mediante el menú de opciones que puse en la imagen de arriba?, gracias de antemano !
Les dejo el programa:
https://mega.nz/#!KJYh2aLI!UwGluZ37VCtlgIZ1HvSgEFaDPpwC80J7mu_ms4n2GW8
MOD EDIT: Imagen ajustada al tamaño aceptado del foro.
En el evento que se invoca cuando se selecciona un color, asignas el nuevo color a las figuras (algún tipo de variable que tengas), y las vuelves a pintar.
Si las pintas dentro de un evento del JPanel, añádele una variable pública al JPanel que sea el color. Cuando seleccionas un color, se lo pones a ese campo del JPanel, y haces que vuelva a pintarse.
Puedes usar un campo público del JPanel, como cualquier método que quieras. El tema es dejar en algún lugar público constancia de ese color.
Lo he intentado por horas pero me marca el mismo error al momento de compilar, creo que la idea está y el método también es el correcto, estoy casi seguro de que ya debería de haber quedado pero algo lo está impidiendo, si puedes revisar por favor el código que he modificado y decirme en qué me estoy equivocando?
https://mega.nz/#!mRYSgT5B!lzGH_WAivxqmBicOy5qhr5_gClos74-GvAJp405EbGI
Gracias de antemano!!
Pon aquí el error y la línea en la que ocurre.
El problema ocurre en el objeto que hice de tipo Color, en la clase Dibujo línea 9, tengo mi sospecha de que el problema puede ser por ser interface, relativamente me marca estos errores:
(http://i.imgur.com/xwMpMP4.png)
No detecta la variable col que declaré en Dibujo..
MOD EDIT: imagen ajustada.
¿Puedes poner aquí dónde declaras la variable y cómo la declaras?
Claro, col es de tipo Color y está declarado en la clase Dibujo.
2 cosas.
En primer lugar, enseña i puedes el error, no sólo el subrayado. No usé NetBeans, pero prueba poniendo el cursor robre el símbolo dle error o sobre el subrayado.
Luego, digo s puedes poner la declaració0n de 'col'. Es al única manera que tengo de ver qué puede fallar :/
Bueno, este es el error que me marca:
(http://i.imgur.com/3ZCTPfC.png)
y este otro:
(http://i.imgur.com/h7XjpZC.png)
Según eso, estás usando la variable "col" en la clase Ventana, mientras que tú la has definido en la clase Dibujo.
Lo mismo pasa si lo defino en la clase Ventana:
(http://i.imgur.com/waQNBM5.png)
Y me sigue marcando el mismo error:
(http://i.imgur.com/rjjk4XW.png)
Ahí estás declarando una variable llamada "Color" del tipo "col", en el ámbito local del constructor. Tienes que declarar una variable llamada "col", de tipo "Color", en el ámbito de la clase.
public class Ventana ...{
public Color col;
...
}
Mmm aún me manda el mismo error :s
(http://i.imgur.com/8vGeM78.png)
Ese ya es otro error. Como te pone ahí, el error es en Color.BLACK y etc, que dice que no existe. Extraño, que yo sepa sí debería existir. Prueba con Color.Black, poniendo mauúscula solo la primera.
Ya, y aún sigue marcándome el mismo error. Te marca los mismos errores a ti?, o no haz intentado correr el programa? D:
Estoy viendo que pone "variable Color of type JLabel".
¿Tienes un JLabel llamado Color?
Claro, es para utilizar los colores:
(http://i.imgur.com/Qj5mEub.png)
Esto es, por supuesto, atu elección. Sin embargo, a las variables nunca se les debe dar nombres que empiecen con mayúsculas. Los nombres que empiezan con mayúsculas se utilñizan en nombres de clases, estructuras, tipos, etc.
El problema aquí, es que interpreta que Color es el jlabel y no la clase.
Puedes hacer 2 cosas: o renombras las variables, o poner "java.awt.Color.BLACK" para que se distinga, en vez de solo "Color.BLACK".
Bien, al parecer era eso y otro problema que se me pasaba, tuve que cambiarle la referencia en cada clase de las figuras, le quité el col y le puse Ventana.col."El color" y ahora todo está perfecto.
Muchas Gracias ! ;3
no esta importado la clase Color