Hola gente!
Tengo este codigo:
En la clase home
public Home() {
initialize();
logon = new Logon();
logon.show();
Dimension dialogo = logon.getSize();
Dimension ventana = frame.getSize();
int w = (ventana.width -dialogo.width)/2;
int h = (ventana.height - dialogo.height)/2;
logon.setLocation(w, h);
logon.setDefaultCloseOperation(0);
}
Y este en la clase logon
public Logon() {
setVisible(true);
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLO SE);
setAlwaysOnTop(true);
setBounds(100, 100, 450, 300);
getContentPane().setLayout(null);
contentPanel.setBounds(0, 0, 434, 150);
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel);
contentPanel.setLayout(null);
.....}
public void do_okButton_actionPerformed(ActionEvent arg0) throws PersExcep{
try{
String u = textField.getText();
@SuppressWarnings("deprecation")
String p =passwordField.getText();
Login l = new Login(u, p);
if(textField.getText().trim().length()==0){
JOptionPane.showMessageDialog(null, "El campo de usuario debe estar rellenado", "Error", JOptionPane.ERROR_MESSAGE);
}else if(l.getAceptado()==1){
JOptionPane.showMessageDialog(null, "Usuario aceptado", "Exito",JOptionPane.INFORMATION_MESSAGE );
dispose();
}else{
JOptionPane.showMessageDialog(null, "Usuario rechasado Verefique datos","Error", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
catch (Exception ex){
ex.printStackTrace();
throw new PersExcep();
}
}
Ahora cuando ejecuto Home() el JOptionPane queda debajo del JDialog y no puedo verlo.
Si en lugar de
Dimension dialogo = logon.getSize();
Dimension ventana = frame.getSize();
int w = (ventana.width -dialogo.width)/2;
int h = (ventana.height - dialogo.height)/2;
logon.setLocation(w, h);
uso: logon.setLocationRelativeTo(null);
no se ejecuta el codigo del boton en el JDialog.
Pueden darme una mano?
Gracias