19. oktober 2001 - 14:50Der er
2 kommentarer og 2 løsninger
Swing - GUI problemer med at vise gif\'fer i en JFrame
Når jeg indsætter gif billeder i min JFrame går det ganske glimrende. Billederne kommer frem som jeg vil have det.
Men når jeg minimerer vinduet billederne er i, er billederne helt forsvundet, således at jeg nu kun ser baggrunden, hvor der også før var gif billeder på ?
Hvis man nu gerne vil have billederne skal være der når man maksimerer vinduet igen, hvordan skal man så gøre ?
ok, du siger altså at jeg skal painte mine giffer ?
Lige nu bliver billederne vist ved hjælp af en klasse der nedarver fra JLabel, hvor jeg bare påklistrer et ImageIcon poå den pågældende Label og viser den label i en JFrame.
Det vil sige at jeg kun skal gøre brug af \"draw\" metoderne i Graphics eller ?
repaint kunne løse problemet, men det er ikke altid nødvendigt at anvende denne. Idet jeg ikke lige har din kode ved hånden, kan ikke helt præcis se, hvad dit problem er. Se om du ikke kan få noget inspiration fra nedenstående kode, der er et komplet eksempel på, hvordan du udfra en applikation, åbner en ny frame med et billede i (dette kan naturligvis maximeres og minimeres uden konsekvenser).
public void showPicture(String path) JFrame pic = new JFrame(); pic.getContentPane().setLayout( new BorderLayout(5,5)); JPanel pn = new JPanel(); pn.setLayout(new BorderLayout(0,0)); JLabel lb = new JLabel(new ImageIcon(path)); pn.add(new JScrollPane(lb),\"Center\"); pic.getContentPane().add(pn,\"Center\"); pic.setBounds(100, 150, 400, 400); pic.setVisible(true); }
public void actionPerformed(ActionEvent event){ String kommando = event.getActionCommand(); if(kommando==\"Show picture\"){ // stien dit billede ligger på sættes // som argument i showPicture. showPicture(\"C:\\\\Billder\\\\pic1.gif\"); } }
public static void main(String args[]) { Picture pic = new Picture(); }
class WinClosing extends WindowAdapter { public void windowClosing(WindowEvent we) { System.exit(0); } } }
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.