J'essaie de fermer la fenêtre contextuelle par bouton, mais je n'ai aucune idée. Quand j'ai utilisé Java Swing, je me souviens que la fonction était automatique ...Comment fermer la fenêtre contextuelle par bouton dans javafx
Alors .. Que dois-je faire?
Et je veux aussi faire plus d'espace entre le bouton et le texte. Si vous avez une idée, aidez-moi s'il vous plaît.
Stage dialogStage = new Stage();
dialogStage.initModality(Modality.WINDOW_MODAL);
Button button = new Button();
button.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if (event.getCode() == KeyCode.ENTER) {
}
}
});
VBox vbox = new VBox(new Text("Wrong ID & PW!!"), new Button("Ok."));
vbox.setAlignment(Pos.CENTER);
vbox.setPadding(new Insets(15));
dialogStage.setScene(new Scene(vbox));
dialogStage.show();
mais je pense que je dois régler le contrôleur ,, il ne fonctionne pas TT –
Le problème est avec votre 'bouton' vous créez le bouton et l'ajout d'un écouteur, mais vous ajoutez un nouveau bouton à la' VBox' – Oswald
Dans l'exemple de code de la question il n'utilise jamais le bouton nommé 'button'. Au lieu de 'Button button = new Button();', écrivez 'Button button = new Button (" OK ");'. Au lieu de 'new Button (" Ok. ")' Dans le constructeur de la VBox, juste référence 'button'. Utilisez 'button.setDefault (true)' au lieu d'enregistrer un gestionnaire de touches pour le bouton. Utilisez 'button.setOnAction' pour déclencher le gestionnaire d'événement close. Pensez à utiliser ['Alert'] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Alert.html) au lieu de créer votre propre boîte de dialogue. – jewelsea