Ecco link to a solution Ho creato in precedenza per le finestre di dialogo modali in JavaFX 2.1 La soluzione crea uno stage modale in cima allo stage corrente e agisce sui risultati della finestra di dialogo tramite i gestori di eventi per i controlli di dialogo.
Aggiornamento
La soluzione legata prima utilizza un approccio datato gestore di eventi di agire dopo una finestra di dialogo è stato respinto. Questo approccio era valido per le implementazioni pre-JavaFX 2.2. Per JavaFX 8+ non è necessario per i gestori di eventi, invece, utilizzare il nuovo metodo Stage showAndWait()
. Per esempio:
Stage dialog = new Stage();
// populate dialog with controls.
...
dialog.initOwner(parentStage);
dialog.initModality(Modality.APPLICATION_MODAL);
dialog.showAndWait();
// process result of dialog operation.
...
Si noti che, affinché le cose a funzionare come previsto, è importante per inizializzare il proprietario dello stage e per inizializzare la modalità dello stage, per uno o WINDOW_MODALAPPLICATION_MODAL.
Ci sono alcune finestre di dialogo dell'interfaccia utente standard di alta qualità in JavaFX 8 e ControlsFX, se soddisfano le vostre esigenze, vi consiglio di utilizzarle piuttosto che svilupparle da soli. Quelle in-built JavaFX Dialog e Alert classi hanno anche initOwner
e initModality
e showAndWait
metodi, in modo che è possibile impostare la modalità per loro come si desidera (si noti che, per impostazione predefinita, le finestre di dialogo integrate sono modali dell'applicazione).
biblioteca ControlsFX è stato sviluppato per JavaFX versione 8.0 e superiori, in uscita nel Q1 2014, quindi si deve prendere in considerazione. – bazeusz
@jewelsea c'è qualche funzione filechooser per javafx 1.3? –
Avinash, è meglio porre una nuova domanda come una nuova domanda. JavaFX 1.3 è obsoleto, non è consigliabile utilizzarlo. Non penso che abbia avuto direttamente un FileChooser, anche se potresti essere in grado di usare uno Swing [JFileChooser] (https://docs.oracle.com/javase/8/docs/api/javax/swing/JFileChooser.html) con esso. – jewelsea