eventos en java... actionListener ¿como?

Ronald
01 de Junio del 2006
Hola a todos.
Yo se programacion en c++,delphi... pero soy nuevo en java, y lo que todavia no entiendo muy bien es manejar los eventos en java.
He visto varios tutoriales en donde usan addActionListener(
new actionlistener
//y otras cosas mas
);
Por ejemplo yo quiero capturar cuando se hace click en un Choice pero no se como hacerlo ... eso demuestra lo poco que se de los eventos en java.
Si alguien puede ayudarme en ese especifico problema porfavor

David
01 de Junio del 2006
hola yo tampoco entiendo como funciona el addactionlistener... ¿es el mismo para todos los componentes? y que hay sobre los eventos del mouse.
la verdad que estoy confundido

alex
01 de Junio del 2006
wenas ... yo tambien soy novato en java, pero un pokito ya manejo ... ;-)

... ahi os dejo una dirección de donde yo he conseguido aprender a hacer applets:

http://www.sc.ehu.es/sbweb/fisica/cursoJava/Intro.htm

... yo uso JBuilder2, el mismo ke se usa en esa dirección. Y con él se pueden ir colocando paneles, textFields, checkbox, ... etc , ke son elementos del tipo AWT ... hay otros del tipo Swing y más que no se utilizarlos, pero con los del AWT se pueden hacer cositas interesantes.

Para dar funcion del tipo Listener a los textFiled, chexbox, etc .. de forma rápida basta con hacer doble clic en los elementos colocados en el panel principal que hay por defecto ("this"), y el programa JBuilder insertará el codigo correspondiente de forma automática, aunque luego es recomendable ordenarlo un poco ... :)

En cuanto al ratón, hay que "implementar" a la "clase" principal del applet un "interface" , weno , que yo sepa hay dos interfaces para el ratón : MouseListener y MouseMotionListener
y cada interface posee las funciones para el raton (MouseCliked, MousePressed, MouseDragged ... ) ; y tambien hay que insertar en la función init() de la clase principal del applet un par de lineas como estas:

this.addMouseListener(this);
this.addMouseMotionListener(this);

aunque si usais algun panel para hacer un Canvas donde se pueda dibujar con el ratón entonces las líneas del initc() serán asi en el caso de que hayais creado un objeto (ej. "panelCanvas") de la clase que dibuja el Canvas:

this.panelCanvas.addMouseListener(this);
this.panelCanvas.addMouseMotionListener(this);


Weno ... espero que todo este lio os sirva un pokito de referencia ... ;-)

... un saludo.

alex
01 de Junio del 2006
Weno, y para ejemplo ... un botón ... :)

package boton1;

import java.awt.*;
import java.awt.event.*; //este paquete "event" es para poder hacer eventos
import java.applet.*;

public class Boton1Applet1 extends Applet {
//Objetos Label, Button, FlowLayout
FlowLayout flowLayout1 = new FlowLayout(); //esto es un tipo de disposicion de los elementos
Label label1 = new Label(); //esto es una etiqueta donde le pondremos un texto
Button buttonAceptar = new Button(); //esto es un boton y tambien le pondremos un texto


// esta función no siempre es necesaria
public void init() {
try { //esto de dentro es para que se pueda ver el applet
jbInit(); // en la seccion del Dessing
}
catch (Exception e) {
e.printStackTrace();
}
}

private void jbInit() throws Exception {
this.setLayout(flowLayout1);
this.add(label1, null);
label1.setAlignment(1);
label1.setText("Pulsar el boton");
this.add(buttonAceptar, null);
buttonAceptar.setLabel("Aceptar");

// LOS ANONIMOUS ADAPTER

buttonAceptar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
funcion_respuesta(e);
}
});
/******************
esto es un objeto "buttonAceptar", de la clase Button, que implementa (add)
un ActionListener ("addActionListener") y define la funcion "actionPerformed",
la cual llama a la funcion_respuesta que asu vez pide un objeto del tipo "ActionEvent"
*************/

// o sea, ke cuando la das al botón se ejecuta la funcion_respuesta :)

}

//FUNCIONES

void funcion_respuesta(ActionEvent e) {
System.out.println("Se ha pulsado el botón");
label1.setText("Se ha pulsado el botón");
}

}


chuidiang
01 de Junio del 2006
Hola:

A ver si esto os ayuda http://www.chuidiang.com/chuwiki/index.php?title=ActionListener#Los_ActionEvent

Sed buenos.