Hirdetés

Új hozzászólás Aktív témák

  • Hi!

    Újabb érdekes probléma. Panelekkel dolgozom, és néha egyikre van szükségem, néha a másikra. Ilyen esetben a Container-ből remove-olom a nemszükséges panelt, hozzáadom az újat, hívok egy validate-et, és mindenki happy. Ez eddig működött, most azonban nem. A Java figyelmen kívül hagyja a remove utasítást, és így az add is értelmét veszti. Mutatok egy példakódot.


    container.remove(jpanel1);
    container.add(jpanel2);
    validate();



    Ez annyit csinál, hogy ottmarad a jpanel1, látszólag, de annak a kompnenseihez nem férek hozzá (tehát inaktív), és a jpanel2 nem látszik. Valami ötlet, hogy eltűntessem? (CardLayout-ra túl macerás lenne áttérnem).

    Első ötleteim: Kéne pack()-olni a frame-et, vagy legalább resizeolni, lehet azért nem jó(mármint a remove után), 2) nem mondod meg, hova pakolod a cuccost az add után, pl ( BorderLayout.NORTH.. ilyesmikre gondolok(nemtudom milyen layout managert használsz)). 3)Exceptiont nem dob az add-removenál valahol, próbáld meg elkapni, mert ez is lehet. 4) repaint esetleg?. Több így egyelőre nem ugrik be, de kevés is a kód, hogy lássam mi az ábra.. próbáld végig. Ha nem megy, részletezd kicsit bővebben.

Új hozzászólás Aktív témák