SwingWorker делает код трудным для чтения
Мне нравится использовать SwingWorker для решения задач, которые занимают много времени, но я обнаружил, что это затрудняет чтение моего кода. Пример:
Прежде чем я имел:
classCombo.setModel(Controller.getAllClasses());
И сейчас:
private void downloadData()
{
final WaitDialog waitDialog = new WaitDialog(this);
SwingWorker<Object, Void> sw = new SwingWorker<Object, Void>()
{
@Override
protected Object doInBackground() throws Exception
{
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
waitDialog.start(null);
}
});
return Controller.getAllClasses();
}
@Override
protected void done()
{
Vector<KlasaEntity> klasy = null;
try
{
klasy = (Vector<KlasaEntity>) get();
waitDialog.stop();
}
catch (Exception e)
{
e.printStackTrace();
}
classCombo.setModel(new DefaultComboBoxModel<KlasaEntity>(klasy));
}
};
sw.execute();
Видите ли вы возможность сделать этот код короче?