2012-03-13 3 views
3

Je souhaite afficher une boîte de dialogue FileChooser au-dessus d'une application awt qui utilise un JFXPanel.Comment faire un FileChooser modal dans JFXPanel?

En tant que fenêtre pour showOpenDialog, j'utilise getWindow() de l'ensemble de scènes pour ce panneau. Mais le sélecteur de fichiers apparaît derrière l'application et tout reste actif dans JFXPanel (je peux ouvrir d'autres boîtes de dialogue FileChooser, entrer du texte, etc.).

J'ai également trouvé un exemple de code avec une scène supplémentaire entre la fenêtre de scène de JFXPanel et FileChooser, qui utilise initModality. Mais il n'y a pas de changement de comportement.

Des idées pour ouvrir FileChooser en tant que boîte de dialogue modale lorsque le parent est un JFXPanel?

+0

Après toutes ces années, c'est toujours un problème, voici un bug ouvert pour quiconque trouve cela .. https://bugs.openjdk.java.net/browse/JDK-8087620 – meyertee

Répondre

0

showOpenDialog() est une opération de blocage. Il devrait cesser de capturer des événements par le thread d'application JavaFX. Puisque vous utilisez swing, il y a aussi Event Dispatch Thread. Je voudrais désactiver toute la fenêtre avant showOpenDialog(), puis réactiver après. Assurez-vous, que vous accédez à JFXPanel à partir du J.A.T.