|
| Gøre JList editable Fra : Christian Møller Nie~ |
Dato : 06-12-03 14:24 |
|
Hejsa,
er der nogen der ved om man kan gøre en JList interagerbar? Jeg skal have
en liste af JPanels, som indeholder JButtons, men det er ikke muligt for mig
at interagere med knapperne, når ovenstående JPanels bliver sat ind i en
JList.
Kan man måske bruge andre løsninger end JList eller kan man omgå problemet
på en anden måde??
På forhånd tak
Christian Møller Nielsen
| |
Peter Lind (06-12-2003)
| Kommentar Fra : Peter Lind |
Dato : 06-12-03 15:48 |
|
Christian Møller Nielsen wrote:
> Hejsa,
>
> er der nogen der ved om man kan gøre en JList interagerbar? Jeg skal
> have en liste af JPanels, som indeholder JButtons, men det er ikke
> muligt for mig at interagere med knapperne, når ovenstående JPanels
> bliver sat ind i en JList.
>
> Kan man måske bruge andre løsninger end JList eller kan man omgå
> problemet på en anden måde??
Jeg lavede en gang noget lignende, og efter at have bøvlet ufattelig meget
med at lave en editable JList, og nogle JListRenderer, fandt jeg ud af at
det var nemmere blot at lave et stort JPanel, sætte et Y-BoxLayout på det,
smide alle de små JPanels ind på det, og smide det store JPanel ind i en
JScrollPane - det ligner en liste, og er meget meget nemmere at have med at
gøre.
--
Mvh
Peter Lind
| |
Filip Larsen (07-12-2003)
| Kommentar Fra : Filip Larsen |
Dato : 07-12-03 11:00 |
|
Christian Møller Nielsen skrev
> er der nogen der ved om man kan gøre en JList interagerbar? Jeg skal
have
> en liste af JPanels, som indeholder JButtons, men det er ikke muligt
for mig
> at interagere med knapperne, når ovenstående JPanels bliver sat ind i
en
> JList.
JList er ikke beregnet til at være en generel container for andre
komponenter. Meningen med JList er, at en liste af N objekter kan vises
i brugergrænsefladen vha. kun en GUI komponent. Ulempen er så til
gengæld, at denne ene GUI komponent bliver genbrugt til at vise hele
listen, og den dermed kun med en del besvær kan bruges til at lave
komponent opførsel der ikke direkte anvendes af JList.
Som Peter har sagt, så kan du sagtens lave lister af JPanels (eller
JButtons eller hvad du nu har) ved ganske enkelt at placere dem i et ny
JPanel med BoxLayout og evt. placere dette panel i en JScrollPane. Vær
opmærksom på, at der kan opstå problemer hvis du har et meget stort
antal elementer der skal vises på denne måde og at det selvfølgelig
bruger flere resourcer end ellers.
Alternativt kan du træde et skridt tilbage og spørge dig selv om du
virkelig har brug for JButtons, eller om du måske i stedet kan komme
igennem med en JList med Action elementer, hvor du så bruger
dobbelt-klik eller ekstern knap til at aktivere.
Mvh,
--
Filip Larsen
| |
|
|