Foros del Web » Programación para mayores de 30 ;) » Java »

Evento del boton

Estas en el tema de Evento del boton en el foro de Java en Foros del Web. Hola. Estoy con awt. Y mi problema, es que no sé cómo hacer para que pulse el boton, y reconozca el action, que ha pulsado ...
  #1 (permalink)  
Antiguo 14/07/2011, 15:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Evento del boton

Hola.
Estoy con awt.
Y mi problema, es que no sé cómo hacer para que pulse el boton, y reconozca el action, que ha pulsado ese boton. Ya que despues, pondré varios botones más.
Éste es mi código:
Código HTML:
import java.awt.*;
import java.awt.event.*;

public class ejercicio1A1 implements WindowListener {
	public static void main(String args[]){
		ejercicio1A1 e=new ejercicio1A1();
	}
	
	public ejercicio1A1(){
		Frame frame=new Frame();
		frame.setLayout(null);
		frame.setBackground(Color.LIGHT_GRAY);
		frame.setBounds(0, 0, 700, 400);
		
		/**creo el primer panel**/
		Panel panel1=new Panel();
		panel1.setLayout(null);
		panel1.setBounds(10, 30, 350, 350);
		panel1.setBackground(Color.LIGHT_GRAY);
		
		//creo los botones
		Button boton1=new Button();
		boton1.setBounds(10, 30, 100, 100);
		boton1.addActionListener(this);	
		
		//creo el gridlayout, un contener para meter todos los botones
		panel1.setLayout( new GridLayout( 3,3 ) );
		
		panel1.add(boton1);
		//hacemos visible el frame
		frame.setVisible(true);
		

	}
	//evento para los botones
	public void action( Event ev,Object obj ) {
		//if( ((Button)ev.getSource()).getLabel().equals("1")){
		if(ev.target.equals(boton1)){
			System.out.println("entra ern primero");
		}
	}
}
Alguien podría decirme cómo podría hacer esto? O cual es mi error? Como podréis ver en el código, lo he intentado de dos maneras distintas, pero no consigo hacerlo bien....
Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 14/07/2011, 15:45
(Desactivado)
 
Fecha de Ingreso: julio-2011
Mensajes: 20
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Evento del boton

Si trabajas con la plataforma Netbeans , cada boton tiene un action y al pulsar dos veces te manda al codigo fuente donde tu decides que es lo que quieres hacer. por ejemplo abrir otra ventana,guardar, etc.
  #3 (permalink)  
Antiguo 14/07/2011, 15:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Evento del boton

Trabajo con eclipse.
Y como puede ver, en el código que he puesto, sé que al pulsar el boton, y sólo con una vez, no hace falta que haga dos, llama al action. Pero no sé como hacer que sepa que es el boton1, el boton2...
Es cambiar lo que tengo del código, la teoria me la sé.
Gracias.
Espero otras respuestas que me ayuden a solucionarlo.
  #4 (permalink)  
Antiguo 14/07/2011, 17:38
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 20
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Evento del boton

no estoy seguro, pero no tienen nombre los botones?

Yo por ejemplo en mi programa tengo 81 JTextFields y para diferenciarlos los tengo en una tabla cada uno con un nombre de la siguiente forma:

tablero[i][j].setName(nombre);

En mi caso como son muchos nombre es String ="" +i+j;

asi luego con el nombre es facil saber cual te ha llamado y que hacer, pero no se si los botones lo tienen, aunque si el metodo es heredado de la clase Component no habria problema.
  #5 (permalink)  
Antiguo 14/07/2011, 17:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Evento del boton

Me ha servido mcuho su comentario!! Gracias!!!
Bien, explico como lo he hecho yo, por si acaso le sirve a alguien...
A cada boton le he puesto un nombre, así:
Código HTML:
boton1.setName("boton1");
Y así sé que botón he pulsado:
Código HTML:
if(((Button)ev.getSource()).getName()=="boton1"){
			System.out.println("entraaaaaaa");
		}
Muchas gracias!!!
  #6 (permalink)  
Antiguo 15/07/2011, 03:37
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 20
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Evento del boton

De nada, esta misma duda la tuve yo apenas 15 dias y me la resolvieron aqui mismo :D
  #7 (permalink)  
Antiguo 15/07/2011, 05:30
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Evento del boton

Como se nota rymura que pa temas de awt y swing, la aplicacion qe hiciste te a ayudado mucho
Tb puede servir, no me aciuerdo bien porque hace mucho que no veo swing pero si:
Código PHP:
Ver original
  1. private JButton borrar=new JButton("Boton1");
  2.  
  3. y despues le añades un escuchador
  4.  
  5. borrar.addActionListener(new BorrarAction(this));

y en la clase BorrarAction
Código PHP:
Ver original
  1. public class BorrarAction implements ActionListener{
  2. y en su metodo
  3. public void actionPerformed(ActionEvent e) {
  4.        Aqui haces lo que quieras
  5. }

Esto es por si lo queires orietar a tenerlo separado y no todo en una clase o includo si quieres tenerlo en una misma clase:

Código PHP:
Ver original
  1. public class BorrarAction implements ActionListener{
  2. private JButton borrar=new JButton("Boton1");
  3. borrar.addActionListener(this);
  4.  
  5. y en el metodo:
  6.  
  7. public void actionPerformed(ActionEvent e) {
  8. if (borrar.getSource()==borrar
  9.  
  10.        Aqui haces lo que quieras
  11. }

Saludos

Última edición por sirdaiz; 15/07/2011 a las 05:37
  #8 (permalink)  
Antiguo 15/07/2011, 05:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Evento del boton

A bueno la otra usa button q es awt yo uso jbutton q es de swing pero funcionan de la misma forma aunque de apariencia en principa la de swing en más bonita creo xD

PD: el post anterior esto tiene que ir asi if (e.getSource()==borrar

Etiquetas: evento, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:24.