Avatar billede madiedk Nybegynder
23. februar 2010 - 17:28 Der er 8 kommentarer og
1 løsning

Stop execution af javaprogram (uden at lukke programmet)

hej
Hvordan stopper jeg et gui javaprogram uden at lukke programmet ned.
f.eks. hvis jeg har en metode der tjekker om brugeren har tastet nogle valide værdier i et jtextfield og informere via en joptionpane. Så når brugeren har trykket op, skal metoden ikke fortsætte, men stoppe.
Jeg kan godt via en if sætning, men er der ikke en anden bedre måde?
Avatar billede arne_v Ekspert
23. februar 2010 - 17:36 #1
Hvis flowet kun skal aendres inden i en metode, saa er if nok det rigtige.

Hvis du skal hoppe et antal niveauer tilbage, saa kan du smide en exception og catche den paa det rigtige niveau.
Avatar billede madiedk Nybegynder
23. februar 2010 - 17:46 #2
Tak, var også ude i det, Men det virker bare somom at den fortsætter selvom jeg smiden en exception, måske fordi mit program kører i 2 tråde?
Avatar billede arne_v Ekspert
23. februar 2010 - 17:53 #3
Kan du outline flowet / give noget demo kode?
Avatar billede madiedk Nybegynder
23. februar 2010 - 19:54 #4
hvis jeg f.eks. har den her metode (bare glem det med tråde)

  public void leg(){

        virk();
        System.out.println("test");

    }

og det er i virk() at den tester userinput, hvordan laver jeg så koden i virk så den ikke fortsætter i metoden leg() (udskriver test) hvis det input jeg får fra brugeren ikke er valid
Avatar billede madiedk Nybegynder
23. februar 2010 - 20:00 #5
Er den korrekt løsning at kaste en exception i virk() og så catche den i leg()?
Avatar billede arne_v Ekspert
23. februar 2010 - 20:09 #6
Ja. F.eks.:

public void leg(){
    try {
        virk();
        System.out.println("test");
    } catch(FoobarException ex) {
        System.out.println("ups");
    }
}
Avatar billede madiedk Nybegynder
23. februar 2010 - 20:18 #7
tak, smid et svar
Avatar billede arne_v Ekspert
23. februar 2010 - 20:27 #8
svar
Avatar billede arne_v Ekspert
23. februar 2010 - 20:28 #9
husk at catche en specifik exception og ikke Exception eller Throwable.
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