Article View: es.comp.lenguajes.java
Article #28105Pregunta sobre dialogos
From: Monkiki
Date: Sun, 14 Jun 1998 00:00
Date: Sun, 14 Jun 1998 00:00
173 lines
4964 bytes
4964 bytes
Hola, despues de mucho tiempo he vuelto al grupo :-) Ahora con un
pequeño problema. El caso es que tengo hecha una clase llamada
DialogoErrorAceptar que sale un dialogo que te muestra un mensaje de
error. Cuando llama a esta clase (con new DialogoErrorAceptar()) sale al
dialogo, pero el programa sigue con su ejecucion y no espera a que se
cierre dicho dialogo de error. No espera a que pulse el boton del
dialogo. Como muestra, un poco de codigo:
------------- DialogoErrorAceptar.java ---------------
import java.awt.*;
import java.awt.event.*;
public class DialogoErrorAceptar extends Dialog implements
ActionListener, WindowListener {
public DialogoErrorAceptar(Frame padre, String mensaje) {
super(padre, "Error...");
Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
this.addWindowListener(this);
setResizable(false);
setLayout(new BorderLayout());
setBackground(Color.lightGray);
add("Center", new Label(mensaje, Label.CENTER));
Panel panel = new Panel();
Button boton = new Button("Aceptar");
boton.addActionListener(this);
panel.add(boton);
add("South", panel);
pack();
Dimension ventana = getSize();
setLocation((pantalla.width - ventana.width) / 2,
(pantalla.height - ventana.height) / 2);
show();
}
public void actionPerformed(ActionEvent e) {
String param = e.getActionCommand();
if ("Aceptar".equals(param))
dispose();
}
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
dispose();
}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
}
------------- DialogoErrorAceptar.java ---------------
------------- Aplicacion ------------------
/**
* Aplicacion.java
*
*
* Created: Wed Apr 29 21:27:09 1998
*
* @author Francisco José Avila Bermejo
* @version $Id: Aplicacion.java,v 1.1 1998/04/29 21:16:22 paco Exp paco
$
*/
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
class Aplicacion extends Frame implements WindowListener {
//
// Constructor de la clase Aplicacion.
//
public Aplicacion() {
// Creamos la ventana.
super("Una aplicación sencilla");
setSize(100, 100);
// Añadimos el chivato de eventos de ventana.
this.addWindowListener(this);
// Añadimos el panel al sur de la ventana.
add(new Label("Hola, caracola..."));
// Mostramos la ventana.
setVisible(true);
// Tratamos de efectuar una conexión con la base de datos.
try {
// Cargamos el controlador JDBC correspondiente a la base de
datos.
Class.forName("postgresql.Driver");
// Establecemos la conexión con la base de datos (ahora debera dar
un error).
Connection conexion =
DriverManager.getConnection("jdbc:postgresql:xxx","xxx","xxx");
} catch (ClassNotFoundException e) {
new DialogoErrorAceptar(this, "Controlador no encontrado: " + e);
System.out.println("Y esto no debería salir hasta que no se
cerrara el diálogo");
} catch (SQLException e) {
new DialogoErrorAceptar(this, "Recogida excepción SQL: " + e);
System.out.println("Y esto no debería salir hasta que no se
cerrara el diálogo");
}
}
//
// Eventos de ventana.
//
public void windowOpened(WindowEvent we) {}
public void windowClosing(WindowEvent we) {
// Cerramos la aplicación.
System.exit(0);
}
public void windowClosed(WindowEvent we) {}
public void windowIconified(WindowEvent we) {}
public void windowDeiconified(WindowEvent we) {}
public void windowActivated(WindowEvent we) {}
public void windowDeactivated(WindowEvent we) {}
public static void main(String args[]) {
new Aplicacion();
}
}
------------- Aplicacion ------------------
--
---------------------------------------------------------------------
* Difference between a virus & windows? Viruses never fail.
-------------
Red Hat Linux release 5.0 (Hurricane)
Kernel 2.0.32 on an i586
E-mail: monkiki@ctv.es
Web: http://www.ctv.es/USERS/monkiki
--------------------------------------------------------------------
Technical Details
Message-ID:
<35844EC4.BC44F341@ctv.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,4f5040dbab8174af,start X-Google-Attributes: gid1116f3,public From: Monkiki <monkiki@ctv.es> Subject: Pregunta sobre dialogos Date: 1998/06/14 Message-ID: <35844EC4.BC44F341@ctv.es> X-Deja-AN: 362808653 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Organization: Soy muy desorganizado Mime-Version: 1.0 Newsgroups: es.comp.lenguajes.java