gpt4 book ai didi

JavaFX 对话框

转载 作者:搜寻专家 更新时间:2023-11-01 01:43:10 28 4
gpt4 key购买 nike

public void exitGame() { //pop up dialogue
Platform.exit();
}

我已经尝试了很多我在互联网上看到的不同的东西,但我什么都做不了。我所需要的只是一个简单的对话框,当您点击菜单中的退出按钮并询问“您确定要退出吗?”时,该对话框会弹出。并提供有效的“是的,我确定”。和“不,取消”按钮。

最佳答案

这是 JavaFX 对话框的示例。 JavaFx 2.x 中没有对话框 api。因此,您已经创建了自己的舞台并在其中创建了组件。

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.stage.Stage;

/**
* @author JayaPrasad
*
*/
public class SampleDialog extends Application {

/*
* (non-Javadoc)
*
* @see javafx.application.Application#start(javafx.stage.Stage)
*/
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("JavaFx Dialog");
Button btn = new Button();
btn.setText("Click me to display popup dialog");
btn.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent event) {
final Stage dialogStage = new Stage();
dialogStage.initModality(Modality.WINDOW_MODAL);

Label exitLabel = new Label("Are you sure you want to exit?");
exitLabel.setAlignment(Pos.BASELINE_CENTER);

Button yesBtn = new Button("Yes");
yesBtn.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent arg0) {
dialogStage.close();

}
});
Button noBtn = new Button("No");

noBtn.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent arg0) {
dialogStage.close();

}
});

HBox hBox = new HBox();
hBox.setAlignment(Pos.BASELINE_CENTER);
hBox.setSpacing(40.0);
hBox.getChildren().addAll(yesBtn, noBtn);

VBox vBox = new VBox();
vBox.setSpacing(40.0);
vBox.getChildren().addAll(exitLabel, hBox);

dialogStage.setScene(new Scene(vBox));
dialogStage.show();
}
});

StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}

}

关于JavaFX 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22716249/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com