共两种实现方式,当然也不止两种,目前就会了两种,做一下笔记。
- 下面代码是直接使用jar包中封装好的dialog进行实现,
直接弹出一个窗体,跟浏览器alert差不多。
package palms.view;
import javafx.application.Platform;
import javafx.scene.Node;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import palms.entity.ConfigTer;
import java.util.Optional;
/**
* className DialogConfigView
* Description TODO 填写配置文件
* Author 刘高坡
* Date 2020/8/1 0001 上午 7:36
* Version 1.0
*/
public class DialogConfigView {
//窗口
private Dialog<ConfigTer> dialog ;
public DialogConfigView() {
dialog = new Dialog<> ();
//窗口标题
dialog.setTitle ( "配置添加窗口" );
//第一行、标题...
dialog.setHeaderText ( "“加班是一种福报”" );
//宽度
dialog.setX ( 550.0 );
dialog.setY ( 240 );
}
public void close(){
dialog.close ();
DialogConfigView dialogConfigView = null;
}
public Optional<ConfigTer> configView(){
// 作用(翻译得来):指定哪些按钮应该是在对话框中显示给用户
ButtonType configButtonType = new ButtonType("Submit", ButtonBar.ButtonData.OK_DONE);
//添加到button
dialog.getDialogPane().getButtonTypes().addAll(configButtonType, ButtonType.CANCEL);
Node configButton = dialog.getDialogPane().lookupButton(configButtonType);
configButton.setDisable(true);
//网格布局
GridPane grid = new GridPane();
grid.setHgap(20); //水平间距
grid.setVgap(20); //垂直间距
//edit
TextField host = new TextField();
host.setPromptText ( "注意添加符号" );
grid.add(new Label ("IP地址:"), 0, 0);
grid.add(host, 1, 0);
setButtonDisable(host, configButton);
TextField domino = new TextField ( );
domino.setPromptText ( "可以为空(空着代表所有)" );
grid.add(new Label("域:"), 0, 1);
grid.add(domino, 1, 1);
// setButtonDisable(domino, configButton);
TextField username = new TextField();
username.setPromptText("拒绝特殊符号");
grid.add(new Label("用户名:"), 0, 2);
grid.add(username, 1, 2);
setButtonDisable(username, configButton);
PasswordField password = new PasswordField