javaFX: 学习笔记三(对话框的实现方式)

本文介绍了JavaFX中对话框的两种实现方式,包括使用预封装的dialog函数实现简单对话框,以及自定义对话框并与父窗体关联的方法。作者提到当前采用的自定义方式并考虑未来对其进行封装和重构。
摘要由CSDN通过智能技术生成

共两种实现方式,当然也不止两种,目前就会了两种,做一下笔记。

  1. 下面代码是直接使用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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值