Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   JButton que no hace nada (http://www.forosdelweb.com/f45/jbutton-que-no-hace-nada-499270/)

Sandunguero 20/06/2007 03:22

JButton que no hace nada
 
Hola!

Tengo un JFrame con 3 JButtons.

Para cada uno de esos 3 JButtons he asociado una acción a realizar cuando sean presionados.

Los 2 primeros botones (llamados "Enviar" y "Registrar") funcionan correctamente, pero el tercero (llamado "Publicar") no hace nada al presionarlo. ¡He aquí el problema!

Los 3 botones están implementados prácticamente igual, de ahi mi extrañeza.

El código es este, se que parecen muchas lineas de codigo pero es muy sencillito:

Código PHP:

public class paginaInicial extends JFrame {
    
    private 
Container contenido;
    private 
JLabel labelNicklabelPasslabelMensaje;
    private 
JTextField textfieldNick;
    private 
JPasswordField passwordfieldPass;
    private 
JTextArea mensaje;
    private 
JButton enviar;
    private 
JButton registrar;
    private 
JButton publicar;
    private 
JLabel labelPublicar;
    private 
JTextArea textareaPublicar;
    
    
    public 
paginaInicial() {
        
        
super ("Página de Identificación de Usuarios del Foro.");
        
        
contenido=getContentPane();
        
contenido.setLayout(new FlowLayout());
        
        
labelNick=new JLabel ("Nick: ");
        
labelPass=new JLabel ("Contraseña: ");
        
labelMensaje=new JLabel ("¿Aún no registrado?");
        
textfieldNick=new JTextField("",12);
        
passwordfieldPass=new JPasswordField(8);
        
passwordfieldPass.setEchoChar('*');
        
enviar=new JButton("Enviar");
        
registrar=new JButton ("Registrarme");
        
publicar=new JButton ("Publicar");
        
mensaje=new JTextArea ("Atención: Para poder acceder a los mensajes del foro debes estar registrado.");
        
mensaje.setEditable(false);
        
labelPublicar=new JLabel ("Publica tu mensaje");
        
textareaPublicar=new JTextArea("Escribe aquí tu mensaje");
        
textareaPublicar.setEditable(true);
        
contenido.add(labelNick);
        
contenido.add(textfieldNick);
        
contenido.add(labelPass);
        
contenido.add(passwordfieldPass);
        
contenido.add(enviar);
        
contenido.add(labelMensaje);
        
contenido.add(mensaje);
        
contenido.add(registrar);
        
contenido.add(labelPublicar);
        
contenido.add(textareaPublicar);
        
contenido.add(publicar);
        
        
ButtonHandler bh=new ButtonHandler();
        
        
enviar.addActionListener(bh);
        
registrar.addActionListener(bh);
        
        
setSize(700,450);
        
setVisible(true);
        
}



private class 
ButtonHandler implements ActionListener {
        
        public 
void actionPerformed (ActionEvent e){
            if (
e.getSource() == registrar) {
                
textfieldNick.setText("Has presionado registrar");
            }else 
                if (
e.getSource() == enviar)
                    
textfieldNick.setText("Has presionado enviar");
                else
                    if (
e.getSource() == publicar)
                        
//No ejecuta esto !!!
                        
textfieldNick.setText("Has presionado publicar");
            }
        }
    
    
        public static 
void main (String [] args){
             
paginaInicial pm = new paginaInicial();
             
pm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }


¿Podéis ver por qué el JButton llamado "Publicar" no hace nada?

¿O alguna ayuda o consejo de cualquier tipo?

Gracias!

locoporelrojo 20/06/2007 09:49

Re: JButton que no hace nada
 
Creo q tu error es por no asignarle el ActionListener al boton "publicar".

Si vemos en tu codigo, solo tienes asignado el ActionListener a los botones q escribiste q si funcionan:

Código PHP:

enviar.addActionListener(bh);
registrar.addActionListener(bh); 

Pero, te hizo falta:

Código PHP:

publicar.addActionListener(bh); 


Sandunguero 20/06/2007 09:56

Re: JButton que no hace nada
 
Muy cierto locoporelrojo!!!

Muchas gracias, de verdad :)


La zona horaria es GMT -6. Ahora son las 01:25.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.