Título: ¿ Array de controles en Java ? Publicado por: DarkSigma en 2 Febrero 2006, 06:27 am Muy buenas...
En esta ocacion, escribo por un problema que se me presenta, resulta que ando haciendo un pequeño proyecto en Java en el cual tengo dos opciones:
Realmente la mas idonea es la segunda sinembargo no puedo crear dichos arrays... en la clase ejecutable (en este caso la unica) tengo: Código: private Button aControl[] = null; en el contructor tengo: Código: Button aControl[] = new Button[4]; y en un metodo fuera de ello tengo: Código: for (int x=0; x<5; x++){ Sinembargo cuando ejecuto el programa solo se queda en esa ultima orden sin hacer nada... Es algun error mio en la declaracion del array? o no es esa la forma de declarar los array? Espero puedan ayudarme con esto, gracias ;) Título: Re: ¿ Array de controles en Java ? Publicado por: Casidiablo en 2 Febrero 2006, 14:51 pm La verdad no me cuadra lo de: Código: private Button aControl[] = null; Intenta solo: Código: private Button aControl[]; Y después para inicializar hazle normal. De todas formas es mejor si colocas todo el code, con eso podemos depurarlo nosotros. Puede que el error esté en otro lado. Un saludo!!! Título: Ahora es un Button ¬_¬ Publicado por: DarkSigma en 2 Febrero 2006, 22:51 pm Bueno sobre el problema de los arrays tras varias sesiones de ensayo, erro y colgadas de sistema, logre dar con la forma de declararlos, resulta que cuando lo declaraba con = new solo tenia efecto sobre el array mas los elementos internos aun no "existian" tenia que hacerles = new a cada uno que solucione con un for(...), pero resulta que iva bien hasta que me tope con un problemita... mi pequeña aplicacion esta basicamente terminada, ahora les muestro una version alpha de la misma, en la que los botones extrañamente no producen evento, es decir el sistema no me reconoce su click ¿? almenos creo haberle añadido lo necesario pero aun asi no me dan evento click...
Código: package proy006; Título: Re: ¿ Array de controles en Java ? Publicado por: Casidiablo en 2 Febrero 2006, 23:10 pm Es aconsejable que utilizes clases internas anónimas. Es decir, puedes crear tu propio manejador de eventos, así:
En vez de: Código: btnAdd.addActionListener (this); Pones: Código: btnAdd.addActionListener ( Con esto estás creando tus eventos independientes. Ojo, esto no lo recomiendo yo... lo dice en la documentación de Java. Lo probé así, y funciona de maravilla. Un saludo!! Título: Re: ¿ Array de controles en Java ? Publicado por: DarkSigma en 2 Febrero 2006, 23:23 pm Muchas Gracias por la respuesta ;) ahora lo pruebo y les comento como quedo al final
Título: Re: ¿ Array de controles en Java ? Publicado por: Casidiablo en 2 Febrero 2006, 23:47 pm Ok, otra forma menos elegante, pero igual de efectivo. Es crear una clase aparte, en donde se manejen los enventos. Por ejemplo: Código: private class ManejadorEventos implements ActionListener En este caso los eventos se le indicarían a un objeto así: Código: ManejadorEventos manejador=ManejadorEventos(); Otro consejo es que comiences a ensalsarte con el paquete javax.swing de Java. Ese en el que se declarán los objetos con una J (JButton, JTextArea, etc...). ¿porqué? porque estos han sido equipados con muchas características que están a años luz de los convencionales (con convencionales me refiero a los del paquete java.awt). Sin más, un saludo y suerte con el programa. Título: Re: ¿ Array de controles en Java ? Publicado por: DarkSigma en 3 Febrero 2006, 00:50 am Muy buenas nuevamente...
Gracias Casidiablo por las respuestas tan rapidas, ya he conseguido reformatear el codigo con manejadores independientes, me evito de largos if... else if... para buscar controles de ese modo, pero aun asi aunque ya termine el trabajo me quedo una duda espero se pueda responder... porque no respondia al evento click de la forma: Código: btnAdd.addActionListener (this); ? no pude hacerlo correr asi es decir de la manera digamosles cotidiana por no decir rustica... al igual que el array de botones todos me arrojaban un error en los eventos de java no pude averiguar a que se debia... y sobre el swim un amigo me habia comentado acerca del swim pero no se que tanto variara la sintaxis del awt aunque no no creo que mucho ya que depende de este ultimo casi siempre, de todos modos le dare un vistaso porque realmente los frames con awt dejan mucho que desear ;) Título: Re: ¿ Array de controles en Java ? Publicado por: Casidiablo en 7 Febrero 2006, 00:14 am Lo de porque no te corría el prgrama, pués ya lo miraré con calma. Por el momento solo decirte que es Swing no Saludos!!! Título: Re: ¿ Array de controles en Java ? Publicado por: Casidiablo en 7 Febrero 2006, 16:47 pm Bueno, ya revise el código y el error es un poco tonto. Te explico: Cuando uno va a declarar un objeto en Java, tiene dos opciones: 1. Declarar solamente el objeto, sin inicializarlo, por ej.: Código: Button boton; Código: Button boton=null; ó... 2. Declarar e inicializar, por ej.: Código: Button boton=new Button("Botón"); Código: Button boton; Si te fijas bien, despues de haberlo declarado (anteponiendo el nombre de la clase, en este caso Button), a la hora de inicializarlo no es necesario anteponer de nuevo el nombre de la clase (en este caso Button), sino directamente colocarle el new(). Mejor dicho, tu tienes en el código algo así: Código: //primero declaras e inicializas en null (esto no es ningún error) pero, más abajo (en el método Builder()), vuelves a poner Button Código: //Aquí está el error en vez de esto debería ir: Código: //Forma correcta Espero que hayas entendido. Saludos!!! |