🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
1 messages
1 total messages Started by MisterJ Fri, 02 Jul 2004 21:38
[java swing] animatie in JList
#2371
Author: MisterJ
Date: Fri, 02 Jul 2004 21:38
43 lines
2632 bytes
Hallo

Ik heb een gui waarin een JList voorkomt die een lijstje is van nogal
gecompliceerde "paneeltjes" die ik render met een eigen ListCellRenderer.
Die ListCellRenderer is een subtype van JPanel, in plaats van JLabel zoals
Swing dat doet. Dat werkt perfect voor "stilstaande beelden".

Nu is het zo dat die paneeltjes ook wat animatie bevatten. Meer bepaald
een JProgressBar in "Indeterminate" toestand. Dat toont normaalgezien een
blokje dat heen en weer glijdt in die progressbar. Nu merk ik echter dat
een JList zijn inhoud blijkbaar enkel "repaint" als de JList zelf
gerepaint moet worden (door het venster te vergroten ofzo) en niet als een
interne component (door de ListCellRenderer erop geplaatst) zoals die
progressbar daarom vraagt.

Als ik dus voortdurend wat met mijn vensters speel (groter, kleiner,
groter, kleiner, ...) dan ziet het er allemaal vloeiend uit. Als ik het
echter "los laat", dan komt er enkel een repaint als de JList veranderd
door een setData ofzo..

Ik zou dus moeten:

ofwel: de JList wijsmaken dat alle repaints van onderliggende componenten
echt uitgevoerd worden, niet enkel die ene keer dat de ListCellRenderen
die componenten op hun plaats zet

ofwel: Het gedrag van JList zelf implementeren in een paneel dat
verschillende panelen onder elkaar bevat.

Deze laatste methode laat toe dat het hier gestelde probleem onmiddellijk
van de baan is, maar dan moet ik zelf gans het selectiegedrag enzo gaan
implementeren, daar heb ik niet veel zin in.

ofwel: Iets anders dan een JList gebruiken, zou een JTable het wel goed
doen? Ik veronderstel dat dat wel hetzelfde probleem zal geven?

alvast bedankt voor de nuttige tips



-- 
groeten,
MisterJ
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads