Problemas con instancias
HOla, tengo un problema , lo que pasa es que quisiera saber como puedo hacer una instancia independiente de la otra, lo que pasa es que cuando le doy clic en un boton me debe generar es instancias de una ventana pero mi problema es hacer que cada ventana si afecto a uno no afecte a la otra, no se si alguien pe pueda decir como le hago eso, gracias. Bye.
para que cada instancia no afecte a otra sigue la siguiente arquitectura:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Ventana extends JFrame{
static JPanel panelCentro;
static JPanel panelSur;
static JButton b1;
static JButton b2;
static JButton b3;
static JButton b4;
static JButton bSalir;
static JScrollPane panelTabla;
static JTable tabla;
static DefaultTableModel modelo;
static TableColumn tablaAux;
ActionListener evento = new Control();// debes instanciar la clase privada para que escuche los eventos
static int i=0;
public Ventana() {
super("EXAMPLE TABLE");
this.setVisible(true);
this.setSize(550,300);
this.setLocation(200,50);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
-
-
-
-
// colocas lo que se va a construir
-
-
-
show();
escucha();// este metodo es super importante ya que escuchara a todos los eventos
}
public void escucha(){
b1.addActionListener(evento);
b2.addActionListener(evento);
-
-
-
//etc
}
private class Control implements ActionListener{
public void actionPerformed(ActionEvent a) {
if(a.getSource()==b1){
// lo que se va a hacer en cada Boton
}
if(a.getSource()==b2){
}
-
-
-
-
}
}
}
Lo que se hizo fue crear una clase privada para que de esa manera capture los eventos y los manipules correctamente... espero haber sido de ayuda...
Atentamente
rolextreme
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Ventana extends JFrame{
static JPanel panelCentro;
static JPanel panelSur;
static JButton b1;
static JButton b2;
static JButton b3;
static JButton b4;
static JButton bSalir;
static JScrollPane panelTabla;
static JTable tabla;
static DefaultTableModel modelo;
static TableColumn tablaAux;
ActionListener evento = new Control();// debes instanciar la clase privada para que escuche los eventos
static int i=0;
public Ventana() {
super("EXAMPLE TABLE");
this.setVisible(true);
this.setSize(550,300);
this.setLocation(200,50);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
-
-
-
-
// colocas lo que se va a construir
-
-
-
show();
escucha();// este metodo es super importante ya que escuchara a todos los eventos
}
public void escucha(){
b1.addActionListener(evento);
b2.addActionListener(evento);
-
-
-
//etc
}
private class Control implements ActionListener{
public void actionPerformed(ActionEvent a) {
if(a.getSource()==b1){
// lo que se va a hacer en cada Boton
}
if(a.getSource()==b2){
}
-
-
-
-
}
}
}
Lo que se hizo fue crear una clase privada para que de esa manera capture los eventos y los manipules correctamente... espero haber sido de ayuda...
Atentamente
rolextreme