Problema con Swing

danielferbo
21 de Octubre del 2005
saludos a todos
quisiera por favor que me ayuden con este problema que tengo es este cuando se presiona cualquier boton no pasa nada.
Aqui esta el codigo espero que me puedan ayudar gracias

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

public class arbolB extends JFrame{

private JButton boton1;// Boton Agregar
private JButton boton2;// Boton Eliminar
private JButton boton3;// Boton Buscar
private JTextField visor;
private JTextField visor2;

public arbolB(){
super("Arbol B+");
agregar();
}

public void agregar(){


JButton boton1 = new JButton("Agregar");


JButton boton2 = new JButton("Eliminar");


JButton boton3 = new JButton("Buscar");


JTextField visor = new JTextField(15);

JTextField visor2 = new JTextField(15);

//visor2.setEditable(false);

JPanel aux = new JPanel();

aux.setLayout(new FlowLayout());

aux.add(visor);
aux.add(boton1);
aux.add(boton2);
aux.add(boton3);
aux.add(visor2);

JPanel aux2=new JPanel();


getContentPane().add(aux2,BorderLayout.CENTER);
getContentPane().add(aux,BorderLayout.NORTH);

OyenteBoton o=new OyenteBoton();

boton1.addActionListener(o);
boton2.addActionListener(o);
boton3.addActionListener(o);
//visor.addActionListener(o);

}

class OyenteBoton implements ActionListener{

public void actionPerformed(ActionEvent e){

if (boton1 == e.getSource()){
System.out.println("Holas");

}

if (boton2 == e.getSource()){

visor2.setText("Eliminando....");

}

if(boton3 == e.getSource()){

visor2.setText("Buscando...."+visor.getText());
}

}
}


public static void main(String ar[]) {
JFrame x= new arbolB();
x.setBounds(100,100,800,600);
x.setVisible(true);

}
}

xscorpio
21 de Octubre del 2005
en lugar de hacer boton1 == e.getSource() prueba a usar:

if(e.getSource.equals(boton1))

chuidiang
21 de Octubre del 2005
Hola:

Tienes dos boton1. Uno es el private JButton boton1 que declaras como atributo.
El otro es el local que declaras dentro del codigo y que es el que realmente estás usando
JButton boton1= new JButton("Agregar"); dentro del método agregar.
En el actionPerformed estas comparando el atributo privado con la variable local que viene dentro del evento y obviamente no son iguales.

En el método agregar, no declares el tipo, pon simplemente

boton1= new JButton("Agregar");

Se bueno.