webForumDet fria alternativet
Logga in / Bli medlem

swing + scrollpane

Java

2 svar · 178 visningar · startad av turbofreddan

Medlem sedan apr. 2003115 inlägg
Frågan#1

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

Medlem sedan jan. 200475 inlägg
#2

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.

Medlem sedan maj 20012 237 inlägg
#3

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. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)