18. maj 2001 - 23:46Der er
3 kommentarer og 1 løsning
Hvordan lukker man en JInternalFrame?
Jeg har en frame der indeholder en JInternalFrame. Denne interne frame skal indeholde en knap som kan lukke for framen uden at hele programmet går ned (den interne frame skal ikke være closable). Det jeg har er en actionlistener sat på knappen og jeg kalder: framenavn.dispose(); , men dette virker ikke og den giver en fejl med at framen er en inner class og man skal erklære den final. Er der en der kan forklare nærmere?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Dispose() er fin nok, den frigiver resourcerne. Hvis du bare vil undgå at vise, kan du også bruge setVisible(false). Så sparer du evt. at lave en ny JInternalFrame næste gang, men kan bare setVisisble(true) igen.
Din fejl med final inner classes er svær at gøre noget ved uden kode, så en snippet vil være dejlig.
typisk er det på grund af følgende: JInternalFrame f = new JInternalFrame(\"Hej\"); JButton b = new JButton(\"Close\"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { f.dispose(); // Kan ikke lade sig gøre } }
Hvis nu f have været erklæret således:
final JInternalFrame f = new JInternalFrame(\"Hej\");
Jeg havde glemt at fjerne selve oprettelsen: JInternalFrame f = new JInternalFrame(); Det skulle have været f = new JInternalFrame(); for jeg havde erklæret den ude for den interne klasse. Lille fejl - Til at få hovedpine over.
Det er lige præcis den slags, man bare ikke kan se i første omgang.
Synes godt om
Ny brugerNybegynder
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.