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

Una consulta sobre java como llamar un evento

Estas en el tema de Una consulta sobre java como llamar un evento en el foro de Java en Foros del Web. Hola a todo el mundo de javientos jo jo, bueno soy nuevo en el tema de jaya soy un pricipiente tengo una consulta. Tengo un ...
  #1 (permalink)  
Antiguo 19/10/2004, 14:53
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 1 mes
Puntos: 2
Una consulta sobre java como llamar un evento

Hola a todo el mundo de javientos jo jo, bueno soy nuevo en el tema de jaya soy un pricipiente tengo una consulta. Tengo un programa que me hizo un amigo en modo de ejemplo la verdad que entendi partes del programa este programa tiene dos botones y cuando presiona haciendo un Click uno cambia el mensaje de una label resulta que tengo mis dos botones ahora como en este programa son añadidos con el siguiente codigo


boton1= new JButton("Boton1");
boton1.addActionListener(this);
panel.add(boton1);
boton2 = new JButton("Boton2");
boton2.addActionListener(this);
panel.add(boton2);


ahora yo tengo no se como llamarlo un evento o una funcion donde hace que el mensaje se cambie segun el boton que se presione

void actionPerformed(ActionEvent e)
{
Component boton = (Component)e.getSource();
if(boton==boton1)
etiqueta.setText("accionaste boton 1");
if(boton==boton2)
etiqueta.setText("accionaste boton 2");
}


yo soy programador en Visual basic y esto es lo que me confunde yo declare mis dos botones y de donde yo declaro que cuando haga un click sobre el boton llama al evento;

public void actionPerformed(ActionEvent e)

ahora escribo todo el programa para quien me pueda ayudar con la logica que yo no se la pillo por fa ayuda

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Interfaz extends JFrame implements ActionListener
{
JPanel panel;
JButton boton1,boton2;
JLabel etiqueta;
Container contenedor;

public Interfaz()
{
super("Interfaz Simple");

contenedor = getContentPane();

panel = new JPanel();
panel.setLayout(new FlowLayout());

etiqueta = new JLabel("Soy una etiqueta");
panel.add(etiqueta);

boton1= new JButton("Boton1");
boton1.addActionListener(this);
panel.add(boton1);

boton2 = new JButton("Boton2");
boton2.addActionListener(this);
panel.add(boton2);

contenedor.add(panel,BorderLayout.CENTER);

setSize(300,200);
show();
}

public void actionPerformed(ActionEvent e)
{
Component boton = (Component)e.getSource();
if(boton==boton1)
etiqueta.setText("accionaste boton 1");
if(boton==boton2)
etiqueta.setText("accionaste boton 2");

}

public static void main(String args[])
{
new Interfaz();

}

}
  #2 (permalink)  
Antiguo 19/10/2004, 15:25
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola, espero haberte entendido..., el manejo de eventos que muestras en el ejemplo de JAVA es a través de los OYENTES (listeners), también conocido como delegación, puesto que el manejo de eventos de un control se delega a una clase manejadora de eventos.

Código PHP:
// Declaracion del botón:
JButton boton1,boton2;

// Inicializacion del botón:
boton1= new JButton("Boton1");

// Asociación del botón a su manejador de evento.
// Al ponerle this como parámetro para manejador de eventos, le dices 
// que es tu misma clase, la encargada de manejar los eventos 
// del botón, por eso tu clase implementa ActionListener
boton1.addActionListener(this);   

// Finalmente, implementas el método actionPerformed que es el 
// método que hace referencia al evento por defecto del botón 
// (en este caso es el evento del click) :
public void actionPerformed(ActionEvent e) { ... } 
__________________
Saludos,

H@C..
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 10:23.