CruellaDeVille Skrevet 4. mai 2006 Skrevet 4. mai 2006 Jeg har laget en applikasjon med flere internal frames. I disse har jeg en JButton, med tekst "Lukk vindu". Jeg ønsker at når knappen trykkes skal vindu lukkes. Har forsøkt å google, men jeg aner ikke hva jeg skal google etter. Forsøkte meg system.exit(0), men da avsluttet hele applikasjonen, og det er ikke det jeg vil. Noen som kan peke meg ut i riktig retning?
HV Skrevet 4. mai 2006 Skrevet 4. mai 2006 (endret) Jeg har laget en applikasjon med flere internal frames. I disse har jeg en JButton, med tekst "Lukk vindu". Jeg ønsker at når knappen trykkes skal vindu lukkes. Har forsøkt å google, men jeg aner ikke hva jeg skal google etter. Forsøkte meg system.exit(0), men da avsluttet hele applikasjonen, og det er ikke det jeg vil. Noen som kan peke meg ut i riktig retning? 6040295[/snapback] Alt dette er sånn ca. Din JInternalFrame har en eier, "sansynligvis" en JFrame med JDesktopPane. Dette objekter sendes med når du oppretter din JinternalFrame: DinInternalFrame gui= new DinInternalFrame (DinFrame.this); gui.setLocation(10,10); gui.setVisible(true); desktop.add(gui); I din JInternalFrame må du ta vare på den variabelen: public DinInternalFrame (DinFrame parent){ super(TITLE,true,true,true,true); this.parent = parent; initialize(); } Når du da vil fjerne "DinInternalFrame" kjører du: parent.remove(DinInternalFrame.this); Hvis den har en tendens til å henge lell om den er fjernet: Lager du en metode i din JFrame som heter feks: public void updateUI(){ desktop.updateUI(); } Dette må gjøres for at du skal klare å opdatere din JdesktopPane. Slik at hele koden for å fjerne blir: parent.remove(DinInternalFrame.this); parent.updateUI() Vennlig hilsen High Voltage Endret 4. mai 2006 av HV
blackbrrd Skrevet 4. mai 2006 Skrevet 4. mai 2006 For at det skal vises et kryss øverst i høyre hjørne så trenger du kun legge til denne linjen: this.setClosable(true); Hvis du skal lukke vinduet ved hjelp av kode kan du skrive: this.setClosed(true); Hvis du vil gjøre noe hvis brukeren trykker på krysset i hjørnet så kan du lytte på eventet det generere: this.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() { public void internalFrameClosing(InternalFrameEvent e) { // kode for ting du skal gjøre når vinduet skal lukkes her } public void internalFrameOpened(InternalFrameEvent e) { // kode for ting du skal gjøre når vinduet har åpnet her } public void internalFrameActivated(InternalFrameEvent e) { // kode for ting du skal gjøre når vindu åpnes her } });
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å