sql >> Base de Datos >  >> RDS >> Oracle

JProgressBar no se actualiza, no puede encontrar una pista

Si no puede usar SwingWorker luego usa SwingUtilities.invokeLater , por ejemplo:

if (progress != Path.operationProgress) {
    final int progressCopy = progress; // Probably not final so copy is needed
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        void run() {
            operationsProgressBar.setValue(progressCopy);
        }
    });
}

Nota:al hacer esto, todo lo que se usa en run tiene que ser final o tiene que haber otras medidas para acceder a las variables. Este código es simbólico en ese sentido.

Debe realizar operaciones en los componentes de Swing fuera del hilo de envío de eventos, no hay forma de evitar esto.