J'ai créé cet exemple d'onglets que je souhaite fermer après avoir affiché la boîte de dialogue de confirmation et j'ai cliqué sur le bouton Yes
.Fermer l'onglet après confirmation de la boîte de dialogue
public static Tab testconfirmTabClose(Tab tab)
{
tab.setOnClosed(new EventHandler<Event>()
{
@Override
public void handle(Event t)
{
t.consume();
// Dialog Stage init
final Stage dialog = new Stage();
dialog.initModality(Modality.APPLICATION_MODAL);
Button btnYes = new Button("Yes");
btnYes.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent event)
{
dialog.close();
}
});
Button btnNo = new Button("No");
btnNo.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent event)
{
dialog.close();
}
});
// Layout for the Button
HBox hbox = new HBox();
hbox.setSpacing(10);
hbox.setAlignment(Pos.CENTER);
hbox.getChildren().add(btnYes);
hbox.getChildren().add(btnNo);
// Layout for the Label and hBox
VBox vbox = new VBox();
vbox.setAlignment(Pos.CENTER);
vbox.setSpacing(10);
// Text
Text tc = new Text();
tc.setText("Do you want to quit?");
// Layout for the Button
HBox thbox = new HBox();
thbox.setSpacing(10);
thbox.setPadding(new Insets(20, 20, 20, 90)); // Place the dialog text right
thbox.setAlignment(Pos.CENTER_LEFT);
thbox.getChildren().add(tc);
BorderPane bp = new BorderPane();
bp.setPadding(new Insets(15, 15, 10, 15));
bp.setTop(null);
bp.setLeft(vbox);
bp.setCenter(thbox);
bp.setRight(null);
bp.setBottom(hbox);
Scene scene = new Scene(bp, 500, 140);
dialog.setScene(scene);
dialog.show();
}
});
return tab;
}
Je possède ce numéro: Lorsque je clique sur l'onglet pour fermer l'onglet est fermé et le dialogue de confirmation est affiché. Je ne peux pas "geler" l'onglet pour la réponse de l'utilisateur. Pouvez-vous me dire comment je peux résoudre ce problème?
Y at-il un autre 'EventHandler' que je peux utiliser pour obtenir le même effet dans JavaFX 2.2? Par exemple en appelant Dialog quand je clique sur le 'X' et en appelant close() sur l'onglet actif? – user1285928
J'ai piraté ce support en 2.2 voir https://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/tree/bundles/runtime/org.eclipse.fx.e4.controls.fx2/ src/org/éclipse/fx/e4/contrôles/fx2 – tomsontom