Visualizzazione dei risultati da 1 a 6 su 6

Discussione: JDialog Bloccata

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    volevo chiedere se jdialog in modalita model blocca il thread che la esegue.
    Sì, lo precisa anche la documentazione:

    Notes for modal dialogs.
    setVisible(true): If the dialog is not already visible, this call will not return until the dialog is hidden by calling setVisible(false) or dispose.

    E poi aggiunge anche:
    It is OK to call this method from the event dispatching thread because the toolkit ensures that other events are not blocked while this method is blocked.

    Se invochi setVisible(true) nel contesto del EDT, non blocchi altri eventi, perché il "loop" degli eventi continua ad essere gestito anche lì dentro in quel contesto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì, lo precisa anche la documentazione:

    Notes for modal dialogs.
    setVisible(true): If the dialog is not already visible, this call will not return until the dialog is hidden by calling setVisible(false) or dispose.

    E poi aggiunge anche:
    It is OK to call this method from the event dispatching thread because the toolkit ensures that other events are not blocked while this method is blocked.

    Se invochi setVisible(true) nel contesto del EDT, non blocchi altri eventi, perché il "loop" degli eventi continua ad essere gestito anche lì dentro in quel contesto.
    Nello specifico supponiamo che la mia jdialog sia in document modal e che quindi non blocca tutts le top level container , in quel caso le altre da chi son gestite se l' edt é bloccato?

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    in quel caso le altre da chi son gestite se l' edt é bloccato?
    Il EDT non è "bloccato"! La invocazione di setVisible non ritorna, questo sì ma tutto il resto che fa normalmente il EDT, ovvero principalmente la gestione del "loop" degli eventi (poi anche disegno dei componenti, ecc...) continua dentro il setVisible.

    Insomma, invochi setVisible(true) nel contesto del EDT. È solo il metodo che non ritorna subito. Ma dentro è stato fatto in modo da continuare tutta la gestione degli eventi, che continua quindi ad essere nel EDT.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.