22. november 2004 - 01:15Der er
3 kommentarer og 1 løsning
Komponenterne repainter ikke
Hejsa,
jeg har lavet en klasse der scanner et bibliotek rekursivt for filer. Hver gang den tager næste bibliotek i højeste niveau sender den besked til en klasse der extender JFrame, og som viser en progress bar, dvs hvor langt den er kommet.
Når jeg tester klassen normalt, kører det fint og progress baren kører som forventet.
Når jeg imidlertid implementerer den dybere inde i et større program, opdaterer grafikken ikke. Dvs selve framen kommer til syne, men komponenterne kommer ikke til syne. I baggrunden skanner den anden klasse for filer, så jeg går ud fra, at den er for presset til at opdatere grafikken.
Jeg har forsøgt at kalde repaint() hver gang den giver besked til progress baren, men det hjælper ikke... hvad nu?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
mhj28 >>> Med runnable laver jeg en tråd... men jeg har jo i forvejen programmeret en klasse der extender JFrame... er det her, jeg skal lave om til at den extender Runnable eller hvordan? Jeg er lidt forvirret...
du laver en metode i den klasse som extender JFrame f.eks.
public void opdateProgressBar(int value) { Runnable doWorkRunnable = new Runnable() { public void run() { jProgressBar.setValue(value); } }; SwingUtilities.invokeLater(doWorkRunnable); }
Denne metode kalder du så hvergang du skal have opdateret din ProgressBar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.