WindowListener

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe einen WindowListener implementiert, der vor dem Schließen des Pogramms den User nachfragt, ob
das Prog wirklich beendet werden soll. Wenn jetzt mit nein geantwortet wird, wie kann ich es bewerkstelligen, dass das Programm
trotzdem offen bleibt?
 
Hi,

hast du schon einen Code geschrieben??

Ich glaube, dann kann man Dir bestimmt besser helfen.

gruß m
 
In einer if-Abfrage kannst du einfach nur die "Ja - bitte beenden!"-Bedingung behandeln.
Bei einer "Nein - nicht beenden!"-Bedingung, würde die Bedingung nicht ansprechen und das Programm läuft weiter.
Beispiele dazu gibts auch schon hier im Forum -> Suchfuntkion.
 
Ist das so richtig:

Code:
....
		this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
....

@Override
	public void windowClosing(WindowEvent e) {

		if(JOptionPane.showConfirmDialog(null, "Wollen sie das Programm wirklich beenden?", "Nachricht", JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)
			System.exit(0);
	}

Ich glaube nicht. Außerdem kann ich das Fragefenster nicht ein zweites mal aufrufen...
 
bei mir gehts, auch mehrmals

Code:
public class TestGUI
    extends JFrame
{
    public TestGUI()
        throws Exception
    {
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        setSize(500, 400);
        setVisible(true);


        addWindowListener(new WindowAdapter()
            {

                @Override
                public void windowClosing(WindowEvent e)
                {

                    if (JOptionPane.showConfirmDialog(null, "Wollen sie das Programm wirklich beenden?", "Nachricht",
                                                      JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
                        System.exit(0);
                }
            });
    }


    public static void main(String[] args)
        throws Exception
    {
        new TestGUI();
    }
}
 
Bei mir wird beim zweiten Mal das Fragefenster dunkelgrau...
komisch...
 
Code:
  private void exit() {
      int option = JOptionPane.showConfirmDialog(null, "Möchten Sie die Anwendung wirklich beenden?", "Beenden bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

      switch (option) {
         case JOptionPane.YES_OPTION:
            System.exit(0);
      }
   }
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben