/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Skifte Paneler Dynamisk
Fra : The MaXx


Dato : 29-03-01 18:59

Hej gruppe.

Jeg vil høre hvordan man kan skifte et panel ud med et andet som reaktion på
en event.
Hvis jeg nu har lavet to paneler:

JPanel menu1 = new JPanel();
JPanel menu2 = new JPanel();

og har defineret en reference til en panel:

JPanel menuholder;

så vil jeg gerne kunne gøre følgende:

menuholder = menu1;
eller
menuholder = menu2;

Dette virker også fint men det opdaterer ikke på skærmen når jeg kører
applicationen.
Alt hjælp velkommen.

The MaXx



 
 
Peter Lind (30-03-2001)
Kommentar
Fra : Peter Lind


Dato : 30-03-01 08:39


"The MaXx" <the_maxx@email.dk> wrote:
> Hej gruppe.
>
> Jeg vil høre hvordan man kan skifte et panel ud med et andet som reaktion

> en event.
> Hvis jeg nu har lavet to paneler:
>
> JPanel menu1 = new JPanel();
> JPanel menu2 = new JPanel();
>
> og har defineret en reference til en panel:
>
> JPanel menuholder;

Du kan selvfølgelig kalde paint() eller pack() på din menuholder når du er
færdig, men det rigtigste er at oprette menuholder som et rigtigt panel med
CardLayout:

menuholder = new JPanel();
menuholder.setLayout(new CardLayout());
menuholder.add( menu1, "menu1" );
menuholder.add( menu2, "menu2" );

Når du så skal skifte mellem de to paneler gør du noget i retning af:

CardLayout cl = (CardLayout)(menuholder.getLayout() );
cl.show(menuholder, "menu1" );

Så kører det som smurt...

Se lidt mere om CardLayout i Tutorialen:
http://java.sun.com/docs/books/tutorial/uiswing/layout/card.html

mvh
Peter Lind



The MaXx (31-03-2001)
Kommentar
Fra : The MaXx


Dato : 31-03-01 15:20

> menuholder = new JPanel();
> menuholder.setLayout(new CardLayout());
> menuholder.add( menu1, "menu1" );
> menuholder.add( menu2, "menu2" );
>
> Når du så skal skifte mellem de to paneler gør du noget i retning af:
>
> CardLayout cl = (CardLayout)(menuholder.getLayout() );
> cl.show(menuholder, "menu1" );
>

Tak der virker bare perfect.... mærkeligt jeg aldrig har brugt eller læst om
CardLayout før... jeg viste kun der var en der hed det.

The MaXx




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste