Pensarando Skrevet 17. september 2012 Del Skrevet 17. september 2012 Hei! Hvordan er det vanlig å strukturere et GUI-program for å unngå rekursjon? Viss jeg for eksempel skal lage et kortspill bygger jeg det kanskje gjennom en MainFrame og tre ulike JPanel: MainFrame extends JFrame SetupGamePanel extends JPanel PlayGamePanel extends JPanel ShowResultPanel extends JPanel Den første kaller den neste når spillet er satt opp (ant. spillere osv). Når PlayGameFrame er ferdig og vi har en vinner, kaller den ShowResultFrame. Viss ShowResultFrame i tillegg gjør det mulig å starte et nytt spill, så vil det etter hvert bli en opphopning av skjulte JPanel i minnet. Så hva er den korrekte måten å komme seg fra en "state" til en annen i et slikt program? Hvordan kan SetupGamePanel få kommunisert til MainFrame at SetupGamePanel skal slettes og PlayGamePanel skal ta over, uten at SetupGamePanel da blir liggende i minnet helt til programmet er ferdig? Lenke til kommentar
Matsemann Skrevet 19. september 2012 Del Skrevet 19. september 2012 Java (rettere sagt JVM) har en garbage collector. Så ting som ikke lenger er i bruk vil slettes fra minnet en gang i blant. Eller sliter du med masse vinduer som blir værende? Lenke til kommentar
Gavekort Skrevet 19. september 2012 Del Skrevet 19. september 2012 Sett opp spillet ditt statebased slik at du har en verdi for hvordan panelet skal tegnes istedet for å opprette nye paneler eller vinduer. Slick sin tutorial viser dette veldig bra. http://slick.cokeandcode.com/wiki/doku.php?id=state_based_games Lenke til kommentar
Hieronymus Skrevet 19. september 2012 Del Skrevet 19. september 2012 Når jeg leser innlegget ditt, så er det en ting som slår meg. Og det er at du bør lese deg opp på MVC. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå