Guten Tag.
Ich möchte Parameter an ein Task übermitteln und sie dort verarbeiten. Der Code sieht (aufs wesentliche verkürzt) so aus:
siehe Kommentare
Ich habe also eine Klasse die org.jdesktop.application.Task erweitert. Allerdings habe ich keinen Weg gefunden wie ich Argumente in die Methode doInBackground() reinbekomme. Das ist also mein Problem.
Danke für eure Hilfe
Ich möchte Parameter an ein Task übermitteln und sie dort verarbeiten. Der Code sieht (aufs wesentliche verkürzt) so aus:
siehe Kommentare
Java:
/* hier wird der Task mit Hilfe der Funktion refreshTable(table) gestartet
dabei soll table (es handelt sich um JTable) weiter gegeben werden. Im Task selbst
werden änderungen am Table vorgenommen.
*/
Task mT = refreshTable(table);
getContext().getTaskService().execute(mT);
getContext().getTaskMonitor().setForegroundTask(mT);
/* Die Funktion refreshTable. Ich möchte table an refreshTableTask weiterleiten
wie man sieht tut sie das in der version noch nicht.*/
private Task refreshTable(JTable table){
return new refreshTableTask(getApplication());
}
/* Die Klasse refreshTableTask erweitert Task. Ich möchte table an diese Klasse weiterleiten und in der Methode doInBackGround() verarbeiten. Leider akzeptiert
sie aber keine Argumente. */
private class refreshTableTask extends org.jdesktop.application.Task<Object, Void> {
refreshTableTask(org.jdesktop.application.Application app) {
super(app);
}
@Override protected Object doInBackground() {
// hier möchte ich table reinbekommen um damit hier weiterzuarbeiten
return null; // im gegebenen Fall brauche ich keine Rückgabe
}
@Override protected void succeeded(Object result) {
}
}
Ich habe also eine Klasse die org.jdesktop.application.Task erweitert. Allerdings habe ich keinen Weg gefunden wie ich Argumente in die Methode doInBackground() reinbekomme. Das ist also mein Problem.
Danke für eure Hilfe