Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Antoniio en 9 Abril 2016, 03:33 am



Título: Hacer válido el cambio de color
Publicado por: Antoniio en 9 Abril 2016, 03:33 am
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.


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 9 Abril 2016, 22:24 pm
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.


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 10 Abril 2016, 23:37 pm
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!!


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 11 Abril 2016, 11:37 am
Pon aquí el error y la línea en la que ocurre.


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 12 Abril 2016, 01:18 am
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.


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 12 Abril 2016, 09:35 am
¿Puedes poner aquí dónde declaras la variable y cómo la declaras?


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 12 Abril 2016, 18:17 pm
Claro, col es de tipo Color y está declarado en la clase Dibujo.


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 12 Abril 2016, 19:18 pm
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 :/


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 12 Abril 2016, 23:43 pm
Bueno, este es el error que me marca:
(http://i.imgur.com/3ZCTPfC.png)

y este otro:
(http://i.imgur.com/h7XjpZC.png)


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 13 Abril 2016, 14:02 pm
Según eso, estás usando la variable "col" en la clase Ventana, mientras que tú la has definido en la clase Dibujo.


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 13 Abril 2016, 18:15 pm
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)


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 13 Abril 2016, 19:04 pm
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.

Código
  1. public class Ventana ...{
  2.    public Color col;
  3. ...
  4. }


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 14 Abril 2016, 01:49 am
Mmm aún me manda el mismo error :s

(http://i.imgur.com/8vGeM78.png)


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 14 Abril 2016, 12:19 pm
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.


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 14 Abril 2016, 18:13 pm
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:


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 14 Abril 2016, 18:15 pm
Estoy viendo que pone "variable Color of type JLabel".
¿Tienes un JLabel llamado Color?


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 15 Abril 2016, 00:18 am
Claro, es para utilizar los colores:
(http://i.imgur.com/Qj5mEub.png)


Título: Re: Hacer válido el cambio de color
Publicado por: ivancea96 en 15 Abril 2016, 00:30 am
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".


Título: Re: Hacer válido el cambio de color
Publicado por: Antoniio en 15 Abril 2016, 03:28 am
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


Título: Re: Hacer válido el cambio de color
Publicado por: + 1 Oculto(s) en 19 Abril 2016, 05:45 am
no esta importado la clase Color