tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Fabio Hellmann
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
478
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    Hallo Zusammen,

    wie kann ich ein JOptionPane schließen, ohne auf das Kreuz zu klicken?
    JOptionPane.getRootFrame().dispose(); funktioniert nicht :/

    Code java:
    1
    2
    3
    4
    5
    6
    7
    
        public static void main(String[] args) {
            JOptionPane.showOptionDialog(null, "text", "Empty?",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.NO_OPTION, null,
                    new Object[] {}, null);
     
            JOptionPane.getRootFrame().dispose();
        }

    Vielen Dank,
    Angelika
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,
    wie darf man deine Frage verstehen?
    Der Dialog schließt sich durch klicken auf: einen Button (OK, Cancel, Nein, Ja, etc.) oder durch das X. Den int-Wert der zurückgegeben wird, ist der Return-Wert mit dem du abfragen kannst, was geklickt wurde (außer es wurde auf das X geklickt).

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    Hallo Fabio,

    Wenn der Anwender innerhalb meiner Anwendung etwas abspeichert, möchte ich ein Dialog-Fenster ohne ein Button mit dem Hinweis "Ihre Daten wurden gespeichert" anzeigen lassen.
    Nach einer Sekunde sollte das Fenster automatisch wieder geschlossen werden, ohne das der Anwender erst auf das X klicken muss. Ein Ok-Button nach jedem Speichervorganf wäre auch sehr störend.

    Kurz gesagt:
    1. Anwender klickt auf 'Speichern'
    2. Ein Popup-Fenster mit dem Hinweis taucht auf und verschwindet automatisch nach 1 Sekunde.

    Die methode zum Warten liegt mir vor. Mein Problem ist, dass ich nicht weiss, wie ich Fesnter nach der Sekunde automatisch wieder schließen kann!

    Schöne Grüße,
    Angelika
     

  4. #4
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Dann wirst du wahrscheinlich über die Klasse JDialog gehen müssen. Dir deinen eigenen "Popup"-Dialog bauen müssen und diese Funktion implementieren.

    Hier ein Beispiel, wie ich es lösen würde.
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
     
    /**
     * @author FabioH
     */
    public class JPopupDialog extends JDialog implements Runnable
    {
        private final long displaytime;
     
        private JPopupDialog(JFrame owner, String title, String msg, long displaytime, boolean modal) {
            super(owner, title, modal);
            this.displaytime = displaytime;
            setContentPane(new JLabel(msg, JLabel.CENTER));
            setLocationRelativeTo(owner);
            pack();
            setVisible(true);
            Thread t = new Thread(this, "Popup-Closer");
            t.start();
        }
     
        @Override
        public void run() {
            try {
                Thread.sleep(displaytime);
                dispose();
            } catch(InterruptedException e) {
                e.printStackTrace();
            }
        }
        
        public static void create(JFrame owner, String title, String msg, long displaytime, boolean modal) {
            new JPopupDialog(owner, title, msg, displaytime, modal);
        }
        
        public static void main(String[] args) {
            JPopupDialog.create(null, "Test", "Testnachricht", 1000, false);
        }
    }

    Gruß

    Fabio
    angelikamorgan bedankt sich. 
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  5. #5
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    wow.. genau das wollte ich machen *jjuuhhuu*

    Danke Fabio
     

Ähnliche Themen

  1. [jQuery] .show() beim erneuten Klicken schließen
    Von newwarrior im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.03.10, 07:55
  2. JOptionPane ohne Dialogfenster?
    Von madgyver1 im Forum Java
    Antworten: 5
    Letzter Beitrag: 23.01.08, 13:09
  3. Nach klicken Fenster schließen?
    Von paulee im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 27.08.05, 12:28
  4. Schließen-Kreuz(oben rechts) deaktivieren
    Von The_MACman im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 16.03.05, 20:46
  5. scrollen ohne klicken!?
    Von babone im Forum Flash Plattform
    Antworten: 10
    Letzter Beitrag: 01.03.03, 00:36