I am using javax.swing.SwingWorker
for the first time.
I want to update a JLabel
from the interim results published by the swing worker as follows:
publish("Published String");
Now to update the JLabel
, I have coded the following:
process(List<String> chunks) {
if (chunks.size() > 0) {
String text = chunks.get(chunks.size() - 1);
label.setText(text);
}
}
The above code works but my problem(or to be more specific, my doubt) is as follows:
The above swing worker task is an annonymous inner class so it can access label
field.
But what if I want to make the swing worker class a non-inner class. Should I need to pass label
as an argument to the constructor of swing worker class so that the process() method can access.
Or Is there any other way?
What approach does other developer follow to update UI components from the swing worker class' result when the swing worker class is not an inner class?