Hallo,
ich habe eine Klasse erstellt, die für die Datenverwaltung meines Programms zuständig ist (Laden, Speicher, Daten abfragen, hinzufügen etc.). Nun gibt es mitunter Operationen, die länger dauern, und die ich daher in einem Background-Thread (SwingWorker) abarbeiten möchte. Allerdings: Die Klasse enthält keinen Frame und keine Komponenten. Kann ich daher
- einen JFrame erstellen, der bspw. eine ProgressBar enthält
- auf meine Daten-Klasse zugreift und die ProgressBar als Parameter übergibt
- und die Klasse dann per Referenz die ProgressBar aus dem Frame steuert?
Bsp.: JFrame enthält JProgBar1. Die Daten-Klasse heißt CData. In CData gibt es die Methode "setProgBar( JProgressBar pb )", die vom JFrame aufgerufen wird und JProgBar1 als Parameter übergibt. In der Klasse CData gibt es einen doInBackground-Thread, der mit Hilfe der Variable "pb" den Status der ProgressBar steuert - da "pb" eine Referenz der JProgBar1 aus dem JFrame ist, wird in diesem Frame die ProgressBar animiert.
Ist das eine saubere Möglichkeit? Oder: ist dies überhaupt eine Möglichkeit?
Gruß
Daniel
ich habe eine Klasse erstellt, die für die Datenverwaltung meines Programms zuständig ist (Laden, Speicher, Daten abfragen, hinzufügen etc.). Nun gibt es mitunter Operationen, die länger dauern, und die ich daher in einem Background-Thread (SwingWorker) abarbeiten möchte. Allerdings: Die Klasse enthält keinen Frame und keine Komponenten. Kann ich daher
- einen JFrame erstellen, der bspw. eine ProgressBar enthält
- auf meine Daten-Klasse zugreift und die ProgressBar als Parameter übergibt
- und die Klasse dann per Referenz die ProgressBar aus dem Frame steuert?
Bsp.: JFrame enthält JProgBar1. Die Daten-Klasse heißt CData. In CData gibt es die Methode "setProgBar( JProgressBar pb )", die vom JFrame aufgerufen wird und JProgBar1 als Parameter übergibt. In der Klasse CData gibt es einen doInBackground-Thread, der mit Hilfe der Variable "pb" den Status der ProgressBar steuert - da "pb" eine Referenz der JProgBar1 aus dem JFrame ist, wird in diesem Frame die ProgressBar animiert.
Ist das eine saubere Möglichkeit? Oder: ist dies überhaupt eine Möglichkeit?
Gruß
Daniel