hej
jag har en Scrollpane som jag addar till min frame. Allt ser jättebra ut man kan klicka på varje element i listan mm. Men när man väljer att ta bort någon får jag inte scrollpanen att uppdatera... Hur fan gör man det? Mvh fredrik
2 svar · 178 visningar · startad av turbofreddan
hej
jag har en Scrollpane som jag addar till min frame. Allt ser jättebra ut man kan klicka på varje element i listan mm. Men när man väljer att ta bort någon får jag inte scrollpanen att uppdatera... Hur fan gör man det? Mvh fredrik
Kör du en lista i scrollpane'n eller hur menar du att du använder scrollpane'n.
om du har en lista e det väl enklast att använda list komponenten.
När du själv tar bort/lägger till komponenter under programmets körning så måste du uppdatera innehållet själv.
Kika på API doc:en under klassen Component. Den har bl a metoden repaint() och validate. Båda kan du använda för att manuellt uppdatera en komponent vars innehåll har förändrats,
Du har en JScrollPane med innehåll. Du har inte lagt fram nån kod men jag antar följande:
JScrollPane pane;
JPanel panel;
JButton btn;
panel.add(btn);
pane.add(panel);
Om du t ex vill ta bort knappen (btn):
panel.remove(btn); // nu tas knappen bort, men den syns fortfarande
panel.repaint(); // nu ritas innehållet på nytt och knappen syns inte längre
metoden repaint ärvs således från klassen Component (om jag minns rätt).
Jag har märkt att ibland räcker inte enbart repaint(), utan man måste köra metoden validate() också.
Testa dig fram och berätta hur det går. :)