1.Stage类继承自Window类,继承了Window类的show()方法,Stage的close()方法实际上是调用了继承自Window类的hide()方法。另外还有Window的setOpacity()方法可对Stage设置透明度。

2.Stage样式的设置

         Stage stage = new Stage(StageStyle.DECORATED);//并没有什么不同  默认属性
         Stage stage = new Stage(StageStyle.TRANSPARENT);//舞台透明
         Stage stage = new Stage(StageStyle.UNDECORATED);//依然是透明,但和上面的透明略有不同
         Stage stage = new Stage(StageStyle.UNIFIED);//没有聚焦时的边缘颜色
         Stage stage = new Stage(StageStyle.UTILITY);//没有最大最小化按钮

          //也可以这样设置:
         //Stage stage = new Stage();
         //stage.initStyle(StageStyle.DECORATED);

3.Stage模态设置:Stage模态有两个属性:Modality.WINDOW_MODAL和Modality.APPLICATION_MODAL

Modality.APPLICATION_MODAL:设置该模态的Stage出现在窗体最顶部时会阻塞其它窗体的显

            Stage stage2 = new Stage();
            stage2.setTitle("这是第二个舞台");

            Stage stage3 = new Stage();
            stage3.setTitle("这是第三个舞台");

            Stage stage4 = new Stage();
            stage4.setTitle("这是第四个舞台");
            stage4..initModality(Modality.APPLICATION_MODAL);

           stage2.show();
           stage3.show();
           stage4.show();//注意:只有当stage4出现在其他页面之上时才会有效果
/*
           stage4.show();
           stage2.show();
           stage3.show();//这样是无效果的
*/

Modality.WINDOW_MODAL:设置为该模态的stage只会阻塞它的所有者窗口(通过initowner()设置),但前提依然是该窗口出现时在它的所有者窗口之上

            Stage stage2 = new Stage();
            stage2.setTitle("这是第二个舞台");

             Stage stage3 = new Stage();
             stage3.setTitle("这是第三个舞台");

             Stage stage4 = new Stage();
             stage4.setTitle("这是第四个舞台");
             stage4.initOwner(stage2);
            stage4..initModality(Modality.WINDOW_MODAL);

            stage2.show();
            stage3.show();
            stage4.show();//同样stage4要出现在stage2上面才会出现效果

注意:start()方法传入的Stage(primarStage)不可设置模态属性,否则会出现异常

4. 其他的一些设置:

           primaryStage.setAlwaysOnTop(true);//设置舞台不被其它舞台覆盖
//        primaryStage.setResizable(false);//设置舞台是否可被拉伸
//        primaryStage.setFullScreen(true);//设置舞台为全屏模式,只有当舞台中设置Scene才会出现效果
//        primaryStage.setFullScreenExitHint("Hello");//设置舞台进入全屏模式是的提示,默认为按ESC键退出全屏
//        primaryStage.setFullScreenExitKeyCombination(KeyCombination.keyCombination("Control"));
        //设置全屏退出的按键方式,String可以是某个英文字母键或者F1等键
        //调用KeyCombination的No-Math时这没有任何按键可以退出全屏,不知如何退出的话可以按window+D键返回桌面        //其它平台返回桌面的方式自行百度
//        primaryStage.setFullScreenExitKeyCombination(KeyCombination.valueOf("c"));
        //等同于上面的keyCombination("Control")方法
//        primaryStage.setIconified(true);//设置舞台最小化
//        primaryStage.setMaximized(true);//设置最大化
//        primaryStage.setOpacity(0.5);//设置透明度Window方法
//        primaryStage.setX(100);//设置舞台在屏幕上的位置
//        primaryStage.setY(100);

5.为一个舞台设置左上角小图标:

        //image地址:C:\Users\84701\Desktop\MyJavaFX\src\javafx_Stage\icon.jpg
//        Image image = new Image("javafx_Stage/icon.jpg");//classpath默认在src下

        //image地址:C:\Users\84701\Desktop\MyJavaFX\src\icon.jpg
//        Image image = new Image("icon.jpg");

        Image image = new Image("https://timgsa.baidu.com/" +
                "timg?image&quality=80&size=b9999_10000&sec=" +
                "1542516810850&di=c0d2faf3c19c3e0cca1a75668aa20608&imgtype=" +
                "0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F14%2F70%2F20%2F10P58PICF7b_1024.jpg");
        primaryStage.getIcons().add(image);
        primaryStage.show();

6.show与showAndWiate():

show()方法不会阻塞线程,showAndWait()方法会阻塞线程

 

JavaFX-Stage的更多相关文章

  1. 在linux上配置并创建JavaFX项目

    本环境为linux配置,因为这里的JavaFX项目是为定制Oracle监控工具而写的.现Oracle已收购Java好几年,用它自己的产生监控自己的东西还是很兼容的.此处Eclipse 为4.5版本. ...

  2. javafx之登陆界面的跳转

    界面布局用到的是fxml而非纯java代码,工具是javafx sence builder 账号:account 密码:password 登陆成功: 可以点击退出登陆返回到登陆页面 工程目录: pac ...

  3. JAVAFX纯手写布局

    主页面效果: 第一栏的效果: 工程目录: package MessageBean; /** * * @author novo */ public class Message { private Str ...

  4. javafx之HTTP协议交互

    javafx端要获取获取如下信息: 服务器端获取的数据: javafx客户端发送的数据以及获取的数据: 工程目录: package Httputil; import IPsite.IPaddress; ...

  5. eclipse开发 javafx(转)

    了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现.这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Ja ...

  6. JavaFX Application应用实例

    下面代码演示的是JavaFX进程命令行参数的实例.大家可以参阅一下. /*原文地址:http://www.manongjc.com/article/134.html */ import java.ut ...

  7. JavaFX 简单3D演示样例

    从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...

  8. JavaFX横幅类游戏开发 教训 游戏贴图

    上一节课,我们即将完成战旗Demo有了一个大概的了解.教训这,我们将学习绘制游戏地图. 由于JavaFX 2.2中添加了Canvas相关的功能,我们就能够使用Canvas来实现游戏绘制了. 游戏地图绘 ...

  9. JavaFX基础学习之URLConnection

    一个标准的JavaFX文件包含三个部分:主类 . 控制类. 界面设计(XML+CSS) 1,main.java package application; import javafx.applicati ...

  10. 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序

    http://blog.csdn.net/wingfourever/article/details/7726724 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX ...

随机推荐

  1. [POJ2054]Color a Tree (并查集+贪心)

    POJ终于修好啦 题意 和UVA1205是同一题,在洛谷上是紫题 有一棵树,需要给其所有节点染色,每个点染色所需的时间是一样的都是11.给每个点染色,还有一个开销“当前时间×ci×ci”,cici是每 ...

  2. JS基础学习1

    1 JS 概述 一个完整的javascript实现是由以下3个不同部分组成的: (1)     核心(ECMAscript) (2)     文档对象模型(DOM)  Document object ...

  3. 微信公众号_订阅号_access_token_创建菜单_菜单name+表情

    全局唯一接口调用凭据 access_token 用于接口调用的一个必要参数 有了 access_token 就能实现所有的接口 特点:  1. 有效期为 2 小时,所以 2 小时要更新一次,提前 5 ...

  4. 触发器中的after与before理解

    做一个表的insert的trigger,目的是只修改插入行的字段. CREATE OR REPLACE TRIGGER TR_RME_SLOT BEFORE INSERT ON RME_SLOT FO ...

  5. 阿里云服务器ssh经常一段时间就断掉解决办法

    #vim /etc/ssh/sshd_config 找到下面两行 #ClientAliveInterval 0#ClientAliveCountMax 3 去掉注释,改成 ClientAliveInt ...

  6. python3 参数*args 、 **args 在函数定义和调用中的应用

    一.函数调用时 说明:*args 表示解包(解包 列表.元组.字符串类型) #定义函数cn_musql def cn_musql(host,port,user,pwd,db): print(host) ...

  7. vue中router.go、router.push和router.replace的区别

    router.go(n) 这个方法的参数是一个整数,意思是在history记录中向前或者后退多少,类似window.history.go(n) router.push(location) 想要导航到不 ...

  8. 微信开发基于springboot

    0.申请一个微信公众号,记住他的appId,secret,token,accesstoken 1.创建一个springboot项目.在pom文件里面导入微信开发工具类 <dependency&g ...

  9. 安装Nginx到linux服务器(Ubuntu)详解

    先去下载一个nginx放到服务器. 然后解压(可参考前面安装tomcat)编译(./configure --prefix=/usr/local/nginx/server/ && mak ...

  10. 解决spring 用@Value注入配置时候出现中文乱码问题

    只要是乱码,很明显需要指定编码格式,为utf-8 <!-- 注解使用properties --> <bean id="configProperties" clas ...