Caricamento di una GUI molto pesante

di il
1 risposte

Caricamento di una GUI molto pesante

Ciao a tutti,
volevo chiedervi un consiglio per quanto riguarda una GUI che ho realizzato in JavaFX. Praticamente ho uno StackedPane (A) ed un bottone che quando viene cliccato dovrebbe prendere un secondo pannello (B), aggiornare i dati all'interno e metterlo all'interno del pannello A.
Purtroppo questa operazione ci mette circa 10 secondi.
Allora ho pensato di fare questo:

main.Start.getPrimaryStage().getScene().setCursor(Cursor.WAIT);
Platform.runLater(()->{             
         mainApp.getMainStackPane().switchToRiskPanel(mainApp.getRiskPanelWrapper(), riskPanelToShow);
         main.Start.getPrimaryStage().getScene().setCursor(Cursor.DEFAULT);
 });
ma non funziona.... la rotella non si vede... e non capisco perchè

1 Risposte

  • Re: Caricamento di una GUI molto pesante

    lory1990 ha scritto:


    ma non funziona.... la rotella non si vede... e non capisco perchè
    Non me ne intendo granché di JavaFX (non ancora perlomeno). Ma da quanto so e leggo dal javadoc ufficiale, Platform.runLater fa eseguire un pezzo di codice nel contesto del JavaFX application thread che è il thread che gestisce le ”live” scene.

    Concettualmente è esattamente come il Event Dispatch Thread di Swing. Questo è il thread che gestisce la interfaccia utente e NON lo devi tenere "impegnato" troppo con tue elaborazioni, altrimenti il framework non può aggiornare la interfaccia grafica.

    In sostanza tutta la questione si riduce a: dovresti chiarirti le idee sulla architettura di Java FX (che è più complessa di Swing, tra l'altro).
Devi accedere o registrarti per scrivere nel forum
1 risposte