Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2014, 15:19
yesod91
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 83
Antigüedad: 10 años, 5 meses
Puntos: 2
¿JFrame activo?

Buenas noches compañeros, estoy realizando un programa algo complejo y me he visto con un problema que no se como resolver.

Adjunto el código y explico lo que trato de conseguir:

Código PHP:
AddConexion = new JButton(new ImageIcon(MenuGUI.class.getResource("/com/sun/java/swing/plaf/windows/icons/agrega.png")));
        
AddConexion.addActionListener(new ActionListener() {
            public 
void actionPerformed(ActionEvent arg0) {
                
//Llamo a la clase "Añadir Conexión"
                
try{
                    
AñadirConexion.main(null);
                    
//Compruebo que la ventana "Añadir Conexión" esta abierta y la cierro
                    
if (EC.isEnabled()){
                        
EC.dispose();
                    }
                }catch (
Exception e1){
                    
JOptionPane.showMessageDialog(nulle1);
                }
            }
        });
        
AddConexion.setBounds(10402424);
        
getContentPane().add(AddConexion); 
Código PHP:
import java.awt.Color;

@
SuppressWarnings("serial")
public class 
AñadirConexion extends JFrame {
    
ConexionDB objConex;
    
    private 
JLabel lblUsuariolblContraseñalblHostlblPuertolblBDlblAlias;
    static public 
JTextField UsuarioFieldHostFieldPuertoFieldBDFieldAliasField;
    static public 
JPasswordField passwordField;
    private 
JButton btnGuardarbtnConectarbtnResetbtnSalir;
    
    public 
AñadirConexion() {
        
initcomponents();
        
objConex = new ConexionDB();
    }

    private 
void initcomponents() {
        
//Propiedades del JFrame o Ventana
        
setSize(new Dimension(400200));
        
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
setVisible(true);
        
setResizable(false);
        
setLocation(new Point(400250));
        
getContentPane().setLayout(null);
        
setTitle("Añadir Cliente");
        
        
//Etiquetas para los cuadros de texto
        
lblUsuario = new JLabel("Usuario");
        
lblUsuario.setBounds(10114614);
        
getContentPane().add(lblUsuario);
        
        
lblContraseña = new JLabel("Contraseña");
        
lblContraseña.setBounds(206117714);
        
getContentPane().add(lblContraseña);
        
        
lblHost = new JLabel("Host");
        
lblHost.setBounds(10364614);
        
getContentPane().add(lblHost);
        
        
lblPuerto = new JLabel("Puerto");
        
lblPuerto.setBounds(206364614);
        
getContentPane().add(lblPuerto);
        
        
lblBD = new JLabel("Nombre BD");
        
lblBD.setBounds(10597714);
        
getContentPane().add(lblBD);
        
        
lblAlias = new JLabel("Alias");
        
lblAlias.setBounds(206594614);
        
getContentPane().add(lblAlias);
        
        
//Cuadros de texto donde introducir datos
        
UsuarioField = new JTextField();
        
UsuarioField.setBounds(9788620);
        
getContentPane().add(UsuarioField);
        
UsuarioField.setColumns(10);
        
        
passwordField = new JPasswordField();
        
passwordField.setBounds(29288620);
        
getContentPane().add(passwordField);
        
        
HostField = new JTextField();
        
HostField.setBounds(97338620);
        
getContentPane().add(HostField);
        
HostField.setColumns(10);
        
        
PuertoField = new JTextField();
        
PuertoField.setBounds(292338620);
        
getContentPane().add(PuertoField);
        
PuertoField.setColumns(10);
        
        
BDField = new JTextField();
        
BDField.setBounds(97568620);
        
getContentPane().add(BDField);
        
BDField.setColumns(10);
        
        
AliasField = new JTextField();
        
AliasField.setBounds(292568620);
        
getContentPane().add(AliasField);
        
AliasField.setColumns(10);
        
        
//Botones de iteracción con el usuario        
        
btnGuardar = new JButton("Guardar");
        
btnGuardar.addActionListener(new ActionListener() {
            public 
void actionPerformed(ActionEvent e) {
                try {
                    
EscribeFichero.main(null);
                } catch (
IOException e1) {
                    
// TODO Auto-generated catch block
                    
e1.printStackTrace();
                }
            }
        });
        
btnGuardar.setBounds(10879123);
        
getContentPane().add(btnGuardar);
        
        
btnConectar = new JButton("Conectar");
        
btnConectar.addActionListener(new ActionListener() {
                public 
void actionPerformed(ActionEvent e) {
                    try {
                        
objConex.conectar();
                        
//Compruebo si la conexión esta activa
                        
if (!ConexionDB.getConex().isClosed()){
                            
MenuGUI.EstadoConx.setText("¡Conectado!");
                            
MenuGUI.EstadoConx.setForeground(Color.GREEN);
                        }else{
                            
MenuGUI.EstadoConx.setText("Error al conectar");
                        }
                    } catch (
SQLException e1) {
                        
JOptionPane.showInputDialog(e1"No se pudo  establecer conexión");
                    }
                }
        });
        
btnConectar.setBounds(101379123);
        
getContentPane().add(btnConectar);
        
        
btnReset = new JButton("Resetear Datos");
        
btnReset.addActionListener(new ActionListener() {
            public 
void actionPerformed(ActionEvent arg0) {
                
            }
        });
        
btnReset.setBounds(11113712823);
        
getContentPane().add(btnReset);
        
        
btnSalir = new JButton("Salir");
        
btnSalir.addActionListener(new ActionListener() {
            public 
void actionPerformed(ActionEvent e) {
                
//Cierro la ventana limpiando el objeto en la memoria
                
dispose();
            }
        });
        
btnSalir.setBounds(2871379123);
        
getContentPane().add(btnSalir);
    }
    
    public 
void windowActivated(WindowEvent e){
        
setEnabled(true);
    }

    public static 
void main(String[] args) {
        
EventQueue.invokeLater(new Runnable() {
            public 
void run() {
                try {
                    
AñadirConexion frame = new AñadirConexion();
                    
frame.setVisible(true);
                } catch (
Exception e) {
                    
e.printStackTrace();
                }
            }
        });
    }

Explico: Trato de hacer que, al invocar una ventana JFrame, si pulso un boton que invoca otra ventana, automaticamente la ventana anterior se cierre.

Sé que me falta algo, pero realmente no se como solucionarlo y necesito consejo.