javafx实现模态/模式窗口

import javafx.stage.*; 
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.control.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;

public class ModalDialog {
  Button btn;
  public ModalDialog(final Stage stg) {
  btn = new Button("OK");

  final Stage stage = new Stage();
  //Initialize the Stage with type of modal
  stage.initModality(Modality.APPLICATION_MODAL);
  //Set the owner of the Stage 
  stage.initOwner(stg);
  stage.setTitle("Top Stage With Modality");
  Group root = new Group();
  Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);

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

    public void handle(ActionEvent event) {
      stage.close();
      }
  });

   btn.setLayoutX(100);
  btn.setLayoutY(80);

  root.getChildren().add(btn);
  stage.setScene(scene);
  stage.show();
  }
}

 

代码2:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class ModalTest extends Application {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
   Application.launch(ModalTest.class, args);
  //    launch(args); } @Override
public void start(final Stage primaryStage) {   primaryStage.setTitle("Hello World");   Group root = new Group();   Scene scene = new Scene(root, 500, 450, Color.LIGHTBLUE);   Button btn = new Button();   btn.setLayoutX(250);   btn.setLayoutY(240);   btn.setText("Show modal dialog");
  btn.setOnAction(
new EventHandler<ActionEvent>() {     public void handle(ActionEvent event) {     ModalDialog md = new ModalDialog(primaryStage);     }   });   root.getChildren().add(btn);   primaryStage.setScene(scene);   primaryStage.show();   } }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值