Afficher une autre boîte de dialogue modale par-dessus d'autres boîtes de dialogue modales en Java

StackOverflow https://stackoverflow.com/questions/1418023

  •  07-07-2019
  •  | 
  •  

Question

J'ai une question plutôt étrange: J'ai une application Java qui utilise les "applications". (plugins) fonctionnent dans différents threads. La plupart de ces plugins seront écrits par d'autres personnes et je n'aurai aucun contrôle sur le code. L'application nécessite une connexion permanente à Internet car les informations sont constamment transférées entre le serveur et l'application. Ce que je veux faire, c'est avoir un thread qui tourne dans le backround pour vérifier s'il y a une connexion Internet. Si la connexion est interrompue, je souhaite que l'application ENTIRE (et tous ses threads) s'interrompe, affiche un message et, une fois reconnecté, reprenne. Je souhaite que cette boîte de dialogue soit affichée au-dessus de toutes les autres boîtes de dialogue (modales ou non). Je pense à quelque chose comme les alertes de contrôle du compte d'utilisateur Windows Vista.

Comment puis-je faire cela?

Était-ce utile?

La solution

Pour résoudre ce problème de manière raisonnable, vous devez utiliser Java 6, car les versions précédentes ne vous donnent tout simplement pas la granularité de modalité dont vous avez besoin.

Voici les options de modalité .

Pour que cela fonctionne efficacement, vous devez obligatoirement que chaque plug-in respecte un contrat afin de ne pas utiliser la modalité Toolkit (le comportement par défaut est qu'une boîte de dialogue modale verrouille tout pour préserver la compatibilité avec les versions antérieures). La modalité d'application semble vous convenir, mais je ne vois pas comment vous pouvez l'implémenter en Java. Cela semble être à la charge du fournisseur de la JVM, dans la mesure du possible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top