Avatar billede themepark Nybegynder
22. februar 2006 - 13:22 Der er 16 kommentarer og
1 løsning

Returnering fra metode ved exit i JFrame

Et tænkt eksempel:

Jeg har en metode, som opretter et nyt objekt. Constructoren i dette objekt opretter og viser en JFrame. Nu vil jeg så gerne have at næste linje i den metode, jeg har oprettet objektet i, først kaldes, når jeg lukker min JFrame. Men hvordan gør man det?
Avatar billede mikkelbm Nybegynder
22. februar 2006 - 13:52 #1
Jeg er ikke sikker på at det kan lade sig gøre med frames, men du kan med dialogs.

JDialog dialog = new JDialog (owner);
dialog.setModal (true);
dialog.setVisible (true); // Dette kald låser i og med at dialogen er modal.
Avatar billede themepark Nybegynder
22. februar 2006 - 14:38 #2
Hmm, fungerer en JDialog ligesom en JFrame, altså kan den bruges på samme måde?
Avatar billede kalp Novice
22. februar 2006 - 14:43 #3
Mit ukreative forslag.. men ja

Før dit metode kald skal du lave en while løkke som tjekker på om din jframe er blevet lukket.. hvis ikke så trædes der ind i løkken og en tråd sættes i gang.. du kan sætte et interval på 1 eller 2 sekunder. (hvilket giver en forsinkelse, men så går systemet ikke i stå).

meget upraktisk fremgangsmåde, som ikke er testet og som sikkert heller ikke kan anbefales, men umiddelbart lyder det som om det godt vil kunne lade sig gøre.. specielt hvis den ikke brokker sig over thread.sleep i while løkken.
Avatar billede mikkelbm Nybegynder
22. februar 2006 - 14:52 #4
Du kan stort set det samme med en dialog, som du kan med en frame. Det er samme fremgangsmåde, når du tilføjer komponenter o.lign.
Avatar billede themepark Nybegynder
22. februar 2006 - 15:12 #5
Men hvad er forskellen(e) så mellem en JFrame og en JDialog?
Avatar billede themepark Nybegynder
22. februar 2006 - 15:28 #7
Javel ja, jeg havde i forvejen kigget på JFrame og JDialog, men der stod ikke det helt store. Ja ja, men JDialog lyder jo som en god ting, smid bare et svar :)
Avatar billede kalp Novice
22. februar 2006 - 15:29 #8
En dialog benyttes primært når der skal kommunikeres med brugeren via. ja, nej eller annuller. Det vil sige der er typisk op til 3 knapper i dialog'en.
Den kan også være når der skal gemmes eller åbnes en fil så er det man spørger hvor skal det gemmes eller hvad skal åbnes.

En JFrame kan indholde mange forskellige objekter og er mere beregnet til brugergrænseoverflade
Avatar billede themepark Nybegynder
22. februar 2006 - 15:30 #9
Hmm, ja problemet er at det netop er beregnet til brugergrænseflade, men det kan så også lade sig gøre så vidt jeg har forstået med JDialog?
Avatar billede mikkelbm Nybegynder
22. februar 2006 - 15:32 #10
En dialog kan sagtens bruges til at vise mange grafiske ting. Jeg vil mene, at du har din main-frame som er en JFrame og ellers han man mest dialoger. Men det er meget situationsafhængigt. Begge nedarver fra Window, som igen nedarver fra container og component, så man kan faktisk det samme.
Avatar billede mikkelbm Nybegynder
22. februar 2006 - 15:34 #11
Mange gange så bruger man dialoger, når brugeren skal tage stilling til et eller andet, og man ønsker at låse det bagvedliggende.
Avatar billede mikkelbm Nybegynder
22. februar 2006 - 15:34 #12
Hvad det er brugeren skal tage stilling til og hvor meget man vil vise, er fuldstændig op til programmøren, og er ikke begrænset af dialoger eller frames.
Avatar billede themepark Nybegynder
22. februar 2006 - 15:39 #13
Hmm, okay, kalp, smid også lige et svar :)
Avatar billede kalp Novice
22. februar 2006 - 16:37 #14
Jeg behøver ikke point:) credits til mikkelbm:)
Jeg kommenterede blot:)
Avatar billede themepark Nybegynder
22. februar 2006 - 16:39 #15
Jovist, men dit indlæg @ 22/02-2006 15:29:00 var ganske brugbart, synes jeg :) Det bestemmer du selvfølgelig selv.
Avatar billede kalp Novice
22. februar 2006 - 16:40 #16
Det gør ikke noget:) Jeg fanger dig sikkert i et andet spørgsmål senere:)
Avatar billede themepark Nybegynder
22. februar 2006 - 16:42 #17
Fair nok, pointene går til mikkel så :)
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