Javafx popup弹出框

package com.sbt.jfxcomponents;

import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Popup;


public class SBTFxDialog extends Popup {

	private VBox vbox_;
	public boolean option;
	private Label label_;
	private EventHandler<MouseEvent> okListener;
	private EventHandler<MouseEvent>	noListener;
	private static SBTFxDialog theInstance;
	public static SBTFxDialog getSbtFxDialog(){
		if(theInstance == null){
			theInstance = new SBTFxDialog();
		}
		return theInstance;
	}
	private SBTFxDialog(){
		init();
	}
	public void setText(String text_){
		label_.setText(text_);
	}
	private void init(){
		if (vbox_ == null) {
			vbox_ = new VBox();
			vbox_.setSpacing(5);// 设置行与行之间的间距
			vbox_.setAlignment(Pos.CENTER);
			vbox_.setMinSize(350, 150);
			vbox_.setMaxSize(350, 150);
			vbox_.setStyle("-fx-background-color:#FFFFFF;-fx-background-radius:5 5 5 5;-fx-border-color:#000; -fx-border-radius:3 3 3 3;");
			Image imagebg = new Image(getClass().getResourceAsStream("/com/sbt/common/images/newUI/gantan.png"));
			label_ = new Label("", new ImageView(imagebg));
			label_.setFont(Font.font("", 15));
			vbox_.getChildren().add(label_);
			getContent().add(vbox_);
			HBox button_hbox_ = new HBox();
			button_hbox_.setPadding(new Insets(40, 0, 20, 150));// Insets(top,left,bottom,right)
			button_hbox_.setSpacing(10);
			SbtJfxButton button_y_ = new SbtJfxButton("确定");
			button_y_.setFont(Font.font("", 15));
			button_y_.setPrefSize(70, 30);
			button_y_.setStyle("-fx-border-color:#b9bbbd;-fx-background-radius:3 3 3 3;-fx-border-radius:3 3 3 3");
			button_y_.setOnMouseClicked(getOkListener());
			SbtJfxButton button_n_ = new SbtJfxButton("取消");
			button_n_.setFont(Font.font("", 15));
			button_n_.setPrefSize(70, 30);
			button_n_.setStyle("-fx-border-color:#b9bbbd;-fx-background-radius:3 3 3 3;-fx-border-radius:3 3 3 3");
			button_n_.setOnMouseClicked(getNoListener());
			button_hbox_.getChildren().addAll(button_y_, button_n_);
			vbox_.getChildren().add(button_hbox_);
		}
	}
	/**
	 * 取消按钮监听
	 * @return
	 */
	private EventHandler<MouseEvent> getNoListener() {
		if (noListener == null) {
			noListener = new EventHandler<MouseEvent>() {
				@Override
				public void handle(MouseEvent e) {
					hide();
				}
			};
		}
		return noListener;
	}
	/**
	 * 确定按钮监听
	 * @return
	 */
	private EventHandler<MouseEvent> getOkListener() {
		if(okListener == null){
			okListener = new EventHandler<MouseEvent>() {
				@Override
				public void handle(MouseEvent e){
					option = true;
					hide();
				}
			};
		}
		return okListener;
	}
}


转载于:https://my.oschina.net/u/2289648/blog/360036

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值