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

alguien me da una mano aqui?

Estas en el tema de alguien me da una mano aqui? en el foro de Java en Foros del Web. Hola chicos, como estan :D? Les cuento: Tengo un problema y estoy ya con la mente nublada, lo que pasa es que me pidieron en ...
  #1 (permalink)  
Antiguo 29/06/2009, 00:35
Avatar de Panshop  
Fecha de Ingreso: abril-2009
Ubicación: Santiago
Mensajes: 87
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta alguien me da una mano aqui?

Hola chicos, como estan :D?
Les cuento: Tengo un problema y estoy ya con la mente nublada, lo que pasa es que me pidieron en la u una aplicacion por capas, y lo que estoy haciendo es llamar desde la clase login (que se encuentra en el package GUI) el metodo actionperformed que se encuentra en el package Negocio, pero no puedo encontrar el metodo de unirlos cuando pongo el addActionListener al boton limpiar... dejo los codigos de ambas clases:

- Clase Login:

Código:
package GUI;
import Negocio.*;
import Conexion.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class Login extends JPanel {
    private JLabel lblUsuario, lblPassword;
    private JTextField txtUsuario, txtPassword;
    private JButton btnIngresar, btnLimpiar;
    private JPanel pnlSuperior, pnlCentro,pnlInferior, pnlCentro2;
    private Font f;
    private Fondo fn;
    private Conexion conn;
    private Control ctrl;

    public Login()
    {
        creaGui();
    }

    public void creaGui()
    {
        
        ctrl = new Control();
        setLayout(new BorderLayout());
        f =new Font("Engravers MT", Font.PLAIN, 15);
        lblUsuario = new JLabel("Usuario");
        lblUsuario.setFont(f);
        lblPassword = new JLabel("Password");
        lblPassword.setFont(f);
        txtUsuario = new JTextField(10);
        txtUsuario.setFont(f);
        txtPassword = new JTextField(10);
        txtPassword.setFont(f);
        btnIngresar = new JButton("Iniciar Sesión");
        btnIngresar.setFont(f);
        btnLimpiar = new JButton("Limpiar");
        //AQUI deberia ir btnLimpiar.addActionListener()??? y si va aqui que deberia poner??
        btnLimpiar.setFont(f);
        fn = new Fondo();
        fn.setLayout(new BorderLayout());
        pnlCentro = new JPanel(new GridLayout(2,2));
        pnlCentro2 = new JPanel();
        pnlSuperior = new JPanel(new GridLayout(6,1));
        pnlInferior = new JPanel();
        pnlSuperior.add(new JLabel(" "));
        pnlSuperior.add(new JLabel(" "));
        pnlSuperior.add(new JLabel(" "));
        pnlSuperior.add(new JLabel(" "));
        pnlSuperior.add(new JLabel(" "));
        pnlSuperior.add(new JLabel(" "));
        pnlCentro.add(lblUsuario);
        pnlCentro.add(txtUsuario);
        pnlCentro.add(lblPassword);
        pnlCentro.add(txtPassword);
        pnlCentro2.add(pnlCentro);
        pnlInferior.add(btnIngresar);
        pnlInferior.add(btnLimpiar);
        pnlSuperior.setOpaque(false);
        pnlCentro.setOpaque(false);
        pnlCentro2.setOpaque(false);
        pnlInferior.setOpaque(false);
        fn.add(pnlSuperior,BorderLayout.NORTH);
        fn.add(pnlCentro2,BorderLayout.CENTER);
        fn.add(pnlInferior,BorderLayout.SOUTH);
        add(fn);
    }
    public JButton getBtnIngresar() {
        return btnIngresar;
    }

    public JButton getBtnLimpiar() {
        return btnLimpiar;
    }
    public void limpiar(){
        txtUsuario.setText("");
        txtPassword.setText("");
    }

}
- Clase Control:

Código:
package Negocio;
import GUI.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Control implements ActionListener{

    private Login log;
    private Hospital hosp;
    private Traslados traslado;
    public Control(){

        log = new Login();
        hosp = new Hospital();
        traslado = new Traslados();
    }
    public void actionPerformed(ActionEvent ae){

        if(ae.getSource() == log.getBtnLimpiar()){
            limpiaLog();
        }
    }
    public void limpiaLog(){
        log.limpiar();
    }
}
El que pueda ayudar, se lo agradesco :D
  #2 (permalink)  
Antiguo 29/06/2009, 04:53
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: alguien me da una mano aqui?

Saludos.

Primero que todo para registrar tus eventos sólo será necesario la implementación de la clase ActionListener preferiblemente en la misma clase donde ubicas la sección de botones.

Recuerda que la clase control implementa la clase ActionListener, podras hacer uso de ella (la referencia ActionListener) con la palabra reservada this dentro de la misma clase, ejemplo:

Código:
public class control implements ActionListener{

JButton boton;

public control(){}

public void registroEventos(){

boton = new JButton();
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent e){

}
}
Desde otro punto, si necesitas realizar diferentes acciones dependiendo del boton que presiones, tendras que asignar un identificador de acción y llamarlo en el método ActionPerformed(), ejemplo:

Código:
public class control implements ActionListener{

JButton boton, boton2;

public control(){}

public void registroEventos(){

boton = new JButton();
boton2 = new JButton();

boton.setActionCommand("Evento boton");
boton.addActionListener(this);

boton.setActionCommand("Evento boton2");
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent e){

if(e.getActionCommand().equals("Evento boton")){

/** linea a ejecutar cuando se presione el primer boton */
} else if (e.getActionCommand().equals("Evento boton2")){

/** linea a ejecutar cuando se presiona el segundo boton */
}

}
}
Espero solucione tu duda.
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 04:33.