🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #28105

Pregunta sobre dialogos

#28105
From: Monkiki
Date: Sun, 14 Jun 1998 00:00
173 lines
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-mail

Show 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