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();   } }

 

posted @ 2013-09-12 14:23  君子笑而不语  阅读(1109)  评论(0编辑  收藏  举报