JavaFX ouvrir une nouvelle fenêtre
en regardant ce code ils montrent une façon d'afficher une nouvelle fenêtre après une connexion. Lorsque le nom d'utilisateur et le mot de passe sont corrects il ouvre une nouvelle boîte de dialogue. Je veux un clic de bouton pour ouvrir une nouvelle boîte de dialogue, sans vérifier le nom d'utilisateur et le mot de passe.
27
demandé sur
blo0p3r
2013-02-23 18:48:55
2 réponses
Si vous voulez juste un bouton pour ouvrir une nouvelle fenêtre, puis quelque chose comme ceci fonctionne:
btnOpenNewWindow.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
Parent root;
try {
root = FXMLLoader.load(getClass().getClassLoader().getResource("path/to/other/view.fxml"), resources);
Stage stage = new Stage();
stage.setTitle("My New Stage Title");
stage.setScene(new Scene(root, 450, 450));
stage.show();
// Hide this current window (if this is what you want)
((Node)(event.getSource())).getScene().getWindow().hide();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
63
répondu
blo0p3r
2016-11-09 19:57:14
j'utilise la méthode suivante dans mes applications JavaFX.
newWindowButton.setOnMouseClicked((event) -> {
try {
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setLocation(getClass().getResource("NewWindow.fxml"));
/*
* if "fx:controller" is not set in fxml
* fxmlLoader.setController(NewWindowController);
*/
Scene scene = new Scene(fxmlLoader.load(), 600, 400);
Stage stage = new Stage();
stage.setTitle("New Window");
stage.setScene(scene);
stage.show();
} catch (IOException e) {
Logger logger = Logger.getLogger(getClass().getName());
logger.log(Level.SEVERE, "Failed to create new Window.", e);
}
});
13
répondu
SkidRunner
2017-03-15 19:07:30