ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
854
854
EMPFEHLEN
-
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!
-
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; }
-
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
-
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
-
Slideshow anhalten und weiterlaufen lassen
Von stella im Forum Flash PlattformAntworten: 2Letzter Beitrag: 25.10.09, 12:38 -
PHP Prozess im Hintergrund weiterlaufen lassen
Von strex im Forum PHPAntworten: 7Letzter Beitrag: 21.03.08, 15:21 -
Nur einen MC stoppen, andere weiterlaufen lassen
Von calledmarcel im Forum Flash PlattformAntworten: 6Letzter Beitrag: 06.11.07, 16:01 -
Anwendung schließen (SendMessage)
Von guller33 im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 04.08.06, 02:37 -
Java-Anwendung schließen
Von st-ash im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 29.09.05, 13:15





Zitieren
Login





