Título: varios JButton que ejecuten un único método Publicado por: Gabilitron en 23 Febrero 2012, 02:33 am Buenas, mi propósito es crear un tablero, del estilo del juego del ajedrez.
Estoy utilizando Eclipse, y la clase JFrame del paquete Window Builder. Dejando la programación del código aparte, el objetivo es conseguir ejecutar un método cuando el usuario pulse una casilla de dicho tablero. Para ello he creado un tablero en el que cada casilla es un JButton (casi no conozco el entorno gráfico, así que no conozco mejores opciones para conseguir lo que busco). Precisamente por eso utilizo la clase JFrame en su modo de diseño, para no tener que escribir todo ese código. Lo que sé hacer es conseguir que al pulsar un botón se escriba texto en una caja de texto, o que se ejecute un método de cualquier otra clase. Para ello, solo escribo el código dentro de esta estructura, siendo A1 el nombre del botón. Citar JButton A1 = new JButton("T"); El problema es que tengo muchas casillas, y no voy a escribir el código dentro de cada una de ellas. A1.setAction(action); A1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Aquí dentro puedo llamar a un método } Es más, quiero conseguir que al pulsar cualquiera de los botones se ejecute un único método, que será el mismo para todos. Esa es mi pregunta, seguro que hay alguna opción en el modo diseño que permite hacerlo, y además me suena haberlo hecho en visual basic. Aunque parezca una tontería que todos botones tengan el mismo efecto, pensando en un tablero de juego, solo me interesa saber cuál de los botones está pulsando el usuario para poder ejecutar un método al que le pasaré el nombre del botón pulsado. Ya digo que es solo un experimento que estoy haciendo, nada serio. Con lo cual, es posible que el asunto tenga mucha más miga que la que llego a ver, o, que me esté complicando la vida. De todas formas no tengo demasiados recursos todavía en el mundo de la programación y tiro por los que sé. Así que desde aquí, muchas gracias, y cualquier respuesta será bienvenida. Título: Re: varios JButton que ejecuten un único método Publicado por: RyogiShiki en 23 Febrero 2012, 04:37 am lo mejor en este caso es crear un array de botones y con un for asígnarles un actioncommand, para que cuando se produzca la cción sea la misma para todos:
Código
Pero entonces has de revisar muy bien el tema de los Listeners, y estudiar un poco sobre Swing. Saludos Título: Re: varios JButton que ejecuten un único método Publicado por: Gabilitron en 23 Febrero 2012, 23:23 pm Pues sí, me miraré lo que dices, porque así en principio no tengo ni idea. No conozco casi el JFrame y solo lo he utilizado en el modo gráfico. Osea, que no sé nada del código que autogenera.
Gracias. Título: Re: varios JButton que ejecuten un único método Publicado por: RyogiShiki en 23 Febrero 2012, 23:46 pm Y el código que autogenera tampoco lo vas a entender de a mucho, porquee stos builders generan código muy denso pesado, sucio e innecesario.
Saludos Título: Re: varios JButton que ejecuten un único método Publicado por: Proteus1989 en 24 Febrero 2012, 03:25 am Puedes crearte una clase que implementa ActionListener y llamar siempre a la misma.
Código
Para llamarla Código
Título: Re: varios JButton que ejecuten un único método Publicado por: visualfree en 17 Marzo 2012, 08:52 am Aca te hice un ejemplo espero te sirva...
Código: import java.awt.*; |