sql >> Database >  >> RDS >> Oracle

JProgressBar wordt niet bijgewerkt, kan geen idee vinden

Als u SwingWorker niet kunt gebruiken gebruik dan SwingUtilities.invokeLater , bijv.:

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);
        }
    });
}

Opmerking:wanneer u dit doet, wordt alles gebruikt in run moet definitief zijn of er moeten andere maatregelen zijn om toegang te krijgen tot de variabelen. Deze code is in dat opzicht symbolisch.

U moet bewerkingen uitvoeren op Swing-componenten buiten de thread voor het verzenden van gebeurtenissen, er is geen manier om dit te omzeilen.



  1. mysql-query met AND, OR en NOT

  2. Rails Advance query CASE WHEN methode werkt niet

  3. selecteer straal van ST_MinimumBoundingRadius

  4. MySQL krijgt de datum n dagen geleden als een tijdstempel