Per esporre un po 'di più, ho una GUI che assomiglia:GUI non aggiornare visivamente prima di eseguire ActionEvent
Poi ho un listener di azione sul pulsante OK che inizia come:
//OK Button Action Listener
private void okButtonActionPerformed(ActionEvent e) {
//Enable/Disable Buttons
okButton.setEnabled(false);
cancelButton.setEnabled(true);
updateCheckbox.setEnabled(false);
//Move on to a series of other methods here...
che dovrebbe, in teoria, rendere questo accada:
Tuttavia, invece, ricevo il seguente fino a quando tutti i metodi e le altre cose connesse al pulsante OK sono stati completati:
Questo ovviamente non può accadere, perché l'idea è quella di rendere il pulsante di annullamento disponibile e il pulsante OK e diverse altre caselle di spunta non disponibili per la durata del programma (Immagine 2), dove, invece, si blocca in un semistato (Immagine 3). C'è un modo per combattere questo?
tutto dentro ActionListener è fatto (sullo schermo) in un momento, dopo vengono eseguite tutte le linee di codice, si prega di che cosa è vero obiettivo – mKorbel
Sto avendo difficoltà a capire esattamente quello che vuoi dire, ma essenzialmente ho un lungo processo in esecuzione che deve accadere pur mantenendo la GUI disponibile. Sulla base di altre risposte, dovrei usare un'altra discussione tramite 'SwingWorker'. – JTApps
Ho un processo di lunga durata ---> quindi segue e accetta una delle risposte qui, molti esempi di codice, alcuni con descrizioni eccellenti – mKorbel