Hi,
ich schon wieder.
Ich poste mal erstmal den Code:
Ich denke, da es sich nicht direkt um einen Fehler handelt, muss es auch nicht unbedingt ein kompilierbares BEispiel sein. (?)
Ich hab nur mal ne Frage.
Das sind ja jetzt 2 innere Klassen (ineinander). Und ich brauche die Variable oldText eigentlich außerhalb des SwingWorkers. Dafür hatte ich sie dort wo sie jetzt auskommentiert ist deklariert und wollte sie dann in finished setzen. Das geht aber nicht. Da sagt Eclipse: "The final local variable oldText cannot be assigned, since it is defined in an enclosing type" und ohne final gehts auch nicht.
So wie es jetzt ist, ist es aber glaub ich auch falsch, weil ich direkt in finished einen Dialog starte und dieser ja dann nicht mehr im EDT läuft oder?
Wie mach ich das jetzt am geschicktesten?
oldText als Member meiner Hauptklasse würde wohl gehen, aber ich brauch sie ja nur an dieser Stelle.
Vielleicht könntets ihr euch ja mal kurz anschauen!
Danke!
ich schon wieder.
Ich poste mal erstmal den Code:
Code:
textTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(final MouseEvent e) {
if (e.getClickCount() == 2) {
//final UnmodifiedText oldText;
final UnmodifiedText text = newTexts.get(textTable
.getSelectedRow());
SwingWorker sw = new SwingWorker() {
public Object construct() {
UnmodifiedText oldText = service
.getTextWithSameTextId(text.getTextId(),
text.getId());
return oldText;
}
public void finished() {
UnmodifiedText oldText = (UnmodifiedText) get();
DlgChanges dlg = new DlgChanges(oldText.getText(), text
.getText());
dlg.pack();
dlg.setVisible(true);
}
};
sw.start();
}
}
Ich denke, da es sich nicht direkt um einen Fehler handelt, muss es auch nicht unbedingt ein kompilierbares BEispiel sein. (?)
Ich hab nur mal ne Frage.
Das sind ja jetzt 2 innere Klassen (ineinander). Und ich brauche die Variable oldText eigentlich außerhalb des SwingWorkers. Dafür hatte ich sie dort wo sie jetzt auskommentiert ist deklariert und wollte sie dann in finished setzen. Das geht aber nicht. Da sagt Eclipse: "The final local variable oldText cannot be assigned, since it is defined in an enclosing type" und ohne final gehts auch nicht.
So wie es jetzt ist, ist es aber glaub ich auch falsch, weil ich direkt in finished einen Dialog starte und dieser ja dann nicht mehr im EDT läuft oder?
Wie mach ich das jetzt am geschicktesten?
oldText als Member meiner Hauptklasse würde wohl gehen, aber ich brauch sie ja nur an dieser Stelle.
Vielleicht könntets ihr euch ja mal kurz anschauen!
Danke!