Avatar billede dresen Nybegynder
10. maj 2003 - 04:33 Der er 6 kommentarer og
1 løsning

GUI - opdater indhold i container

Hej.

Jeg er ved at lave et mindre GUI program.

Jeg har lavet en klasse der arver fra JFrame og yderligere indeholder et Container objekt, hvortil jeg adder min forskellige componenter.

Mit problem består i, at jeg gerne vil have udseendet i mit vindue til at ændre sig som følge af en ActionEvent.
Jeg har lavet en reference til et JPanel, og vil så lade denne variabel pege en af to forskellige panels, afhængig af brugerens valg (mon ikke det hedder polymorfi med et fint ord?). Jeg har forsøgt at eksekvere ændringen vha. metoden 'validate' i klassen Component, men har ikke fået det til at virke.

Jeg ved at begge panels kan vises, da jeg har prøvet at lade den før omtalte reference variabel pege på dem begge fra start.

Giver det mening ? :)

på forhånd tak
Avatar billede riversen Nybegynder
10. maj 2003 - 07:26 #1
repaint();
Avatar billede arne_v Ekspert
10. maj 2003 - 08:10 #2
Prøv først repaint som foreslået af iversen.

Hvis det ikke virker, så er heg bange for at problemet er at
du i stedetfor bare at assigne din komponent bliver nødt til
at bruge remove+add.

Ligesom i diskussionen her:
  http://www.eksperten.dk/spm/346095
Avatar billede _carsten Nybegynder
10. maj 2003 - 09:08 #3
Brug:  super.paint(getGraphics());
Avatar billede kube Nybegynder
10. maj 2003 - 09:16 #4
Du kan måske anvende;
"komponent".setVisible(false);
"komponent2".setVisible(true);

måske en løsning?
Avatar billede arne_v Ekspert
10. maj 2003 - 10:03 #5
Det lyder faktisk som en fix måde at gøre det på.
Avatar billede dresen Nybegynder
10. maj 2003 - 19:07 #6
Jeg har endelig fundet en løsning på mit problem, inspireret af jeres svar

Jeg har ikke styr på Graphics endnu, så jeg ved ikke om repaint() kunne have løst mit problem.

Min løsning bygger på setVisible(), så jeg mener at mine point skal tilfalde 'kube'.

Jeg er newbie mht. til at poste spørgsmål, så hvis I andre føler jer snydt må I gøre opmærksom herpå.

Tak for hjælpen!!
Avatar billede riversen Nybegynder
10. maj 2003 - 19:39 #7
synes ikke det er en særlig pæn måde at gøre det på, men det bestemmer du jo selv. Et sted i kaldet af setVisible( true ), bliver paint kaldt.
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

IT-JOB