Avatar billede ng-km Nybegynder
11. april 2003 - 16:28 Der er 7 kommentarer og
1 løsning

Fortryd en lukning af et vindue/frame

Jeg har følgende innerclass til at lukke mit program med, og det virker helt fint når jeg trykker på krydset på JFramen.

Det jeg ikke lige kan finde ud af er at stoppe min lukkeproces når først jeg har trykket på krydset, og måske vil fortryde lukningen.

Hvordan stopper jeg luk-processen i dette eksempel?


    private class ProgramTerminator extends WindowAdapter
    {
        public void windowClosing(WindowEvent e)
        {
        //her gemmes og ryddes op
        }
    }
Avatar billede jakoba Nybegynder
11. april 2003 - 16:41 #1
I windows conceptet er der ingen fortrydelse på lukkekrydset opper i højre hjørne. når man trykker på det SKAL vinduet lukke snarest muligt.

Hvis du sætter en fortrydelsesmulighed ind bryder du conceptet. det kræver en virkelig stærk begrundelse at retfærdiggøre.
Avatar billede ng-km Nybegynder
11. april 2003 - 22:58 #2
Det er muligt at jeg bruger de forkerte programmer generelt, men jeg mener at langt de fleste programmer har mulighed for at fortryde, hvorfor skal det så begrundes stærkt i Java.

Hvis der for eksempel er ændret i et dokument i Word, får man da mulighed for at annullere en lukning, og det gælder som sagt i langt de fleste af de programmer jeg bruger. Der må da være en mulighed for at implementere denne "standard" i Java??
Avatar billede ng-km Nybegynder
11. april 2003 - 23:37 #3
Forresten står der følgende i Java´s dokumentation:
public void windowClosing(WindowEvent e)

Invoked when a window is in the process of being closed. The close operation can be overridden at this point.

Det må kunne lade sig gøre, jeg kan bare ikke gennemskue hvordan.
Avatar billede repsak Nybegynder
12. april 2003 - 12:18 #4
er ikke helt med på hvad du mener... men er det denne metode du vil kalde???

    public static void afslut(){
        int svar = JOptionPane.showConfirmDialog(null, "Er du sikker på at du vil afslutte?", "Afslut", JOptionPane.YES_NO_OPTION);
        if(svar == JOptionPane.YES_OPTION){
            System.exit(0);
        }
        else if(svar == JOptionPane.NO_OPTION){
            return;
        }
    }
Avatar billede ng-km Nybegynder
12. april 2003 - 13:14 #5
Det er den metode jeg gerne vil have til at virke på luk-krydset i øverste højre hjørne på en JFrame. Jeg har allerede metoden på almindelige knapper, hvor den jo virker fint, men jeg kan ikke stoppe lukkeprocessen hvis jeg har trykket på krydset.

Jeg kan lave alt det return jeg vil....VINDUET LUKKER UANSET HVAD.

Jeg gemmer selvfølgelig alle data inden der lukkes, men jeg vil gerne give brugeren mulighed for at fortryde lukningen hvis der er ændret i filen, så han selv kan se hvad der er ændret. Det kan man jo i stort set alle andre programmer.
Avatar billede repsak Nybegynder
12. april 2003 - 14:29 #6
så kan det være at det er
jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
du skal bruge
Avatar billede ng-km Nybegynder
12. april 2003 - 15:53 #7
BINGO. Læg et svar så får du dine point.

Tak for hjælpen.
Avatar billede repsak Nybegynder
12. april 2003 - 17:01 #8
I'll do :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester