tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
854
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Duckemai
    Duckemai Duckemai ist offline Mitglied Bronze
    Registriert seit
    Feb 2010
    Beiträge
    31
    Hallo,
    wie kann ich ein JOptionPane.showConfirmDialog mit dem X oben rechts schließen, ohne das gleich
    die ganze Anwendung geschlossen wird?

    BSP:
    //Fenster schließen mit X
    public WindowListener Fensterwaechter = new WindowAdapter()

    {
    public void windowClosing (WindowEvent Ereignis)
    {
    if (statusSpeichern)
    {
    int Wahl = JOptionPane.showConfirmDialog(null, "Eintrag speichern?", "Book",
    JOptionPane.YES_NO_OPTION);

    if (Wahl == JOptionPane.YES_OPTION)
    {
    secureWriteText(Pfad);
    writeText(Pfad + datei);
    System.exit(0);
    }//if

    if (Wahl == JOptionPane.NO_OPTION)
    {
    System.exit(0);
    }

    if (Wahl == JOptionPane.CLOSED_OPTION) //X oben rechts wird gedrückt
    {
    //Nur den "showConfirmDialog" schließen. Anwendung weiterlaufen lassen! }
    }//if
    }//WindowsListener
    };

    Vielen Dank!
     

  2. #2
    fassy fassy ist offline Mitglied Bronze
    Registriert seit
    Jan 2010
    Beiträge
    42
    Die Anwendung wird nicht geschlossen, die JOptionPane gibt -1 zurück wenn der Dialog über das "X" geschlossen wird.

    Beispiel:

    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
    41
    42
    43
    44
    45
    46
    
    import javax.swing.JOptionPane;
     
    public class NewJFrame extends javax.swing.JFrame {
        public NewJFrame() {
            initComponents();
        }
     
        private void initComponents() {
     
            jLabel2 = new javax.swing.JLabel();
            jButton1 = new javax.swing.JButton();
     
            jLabel2.setText("jLabel2");
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            getContentPane().setLayout(new java.awt.GridBagLayout());
     
            jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            getContentPane().add(jButton1, new java.awt.GridBagConstraints());
     
            pack();
        }
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            int wahl = JOptionPane.showConfirmDialog(null, "Eintrag speichern?", "Book",JOptionPane.YES_NO_OPTION);
            System.out.println("ausgewählt:" +wahl);
        }
     
     
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NewJFrame().setVisible(true);
                }
            });
        }
     
        private javax.swing.JButton jButton1;
        private javax.swing.JLabel jLabel2;
     
    }
     

  3. #3
    Avatar von Duckemai
    Duckemai Duckemai ist offline Mitglied Bronze
    Registriert seit
    Feb 2010
    Beiträge
    31
    Fassy, hast Du mir jetzt einen Schreck eingejagt! Habe Deinen Quellcode gesehen und fragte mich schon: "Wie soll ich dass jetzt in mein Programm quetschen und was tut eigentlich was?"
    Bis ich dann feststellte , dass ich lediglich diese Zeile von Dir:

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    ersetzen muss durch:
    setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);

    um sie dann an meine rot markierte Stelle einzutragen.

    Genau das habe ich gesucht.
    Vielen Dank
     

  4. #4
    fassy fassy ist offline Mitglied Bronze
    Registriert seit
    Jan 2010
    Beiträge
    42
    Das bezieht sich aber auf den JFrame und hat nichts mit der Rückgabe der JOptionPane zu tun....


    Egal - wenn es dir geholfen hat
     

Ähnliche Themen

  1. Slideshow anhalten und weiterlaufen lassen
    Von stella im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 25.10.09, 12:38
  2. Antworten: 7
    Letzter Beitrag: 21.03.08, 15:21
  3. Nur einen MC stoppen, andere weiterlaufen lassen
    Von calledmarcel im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 06.11.07, 16:01
  4. Anwendung schließen (SendMessage)
    Von guller33 im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 04.08.06, 02:37
  5. Java-Anwendung schließen
    Von st-ash im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 29.09.05, 13:15