JavaFX-Stage
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的更多相关文章
- 在linux上配置并创建JavaFX项目
本环境为linux配置,因为这里的JavaFX项目是为定制Oracle监控工具而写的.现Oracle已收购Java好几年,用它自己的产生监控自己的东西还是很兼容的.此处Eclipse 为4.5版本. ...
- javafx之登陆界面的跳转
界面布局用到的是fxml而非纯java代码,工具是javafx sence builder 账号:account 密码:password 登陆成功: 可以点击退出登陆返回到登陆页面 工程目录: pac ...
- JAVAFX纯手写布局
主页面效果: 第一栏的效果: 工程目录: package MessageBean; /** * * @author novo */ public class Message { private Str ...
- javafx之HTTP协议交互
javafx端要获取获取如下信息: 服务器端获取的数据: javafx客户端发送的数据以及获取的数据: 工程目录: package Httputil; import IPsite.IPaddress; ...
- eclipse开发 javafx(转)
了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现.这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Ja ...
- JavaFX Application应用实例
下面代码演示的是JavaFX进程命令行参数的实例.大家可以参阅一下. /*原文地址:http://www.manongjc.com/article/134.html */ import java.ut ...
- JavaFX 简单3D演示样例
从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...
- JavaFX横幅类游戏开发 教训 游戏贴图
上一节课,我们即将完成战旗Demo有了一个大概的了解.教训这,我们将学习绘制游戏地图. 由于JavaFX 2.2中添加了Canvas相关的功能,我们就能够使用Canvas来实现游戏绘制了. 游戏地图绘 ...
- JavaFX基础学习之URLConnection
一个标准的JavaFX文件包含三个部分:主类 . 控制类. 界面设计(XML+CSS) 1,main.java package application; import javafx.applicati ...
- 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序
http://blog.csdn.net/wingfourever/article/details/7726724 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX ...
随机推荐
- MySQL数据库表损坏后的修复方法
步骤:1.sql语句:check table tabTest; 如果出现的结果说Status是OK,则不用修复,如果有Error2.Linux执行: myisamchk -r -q /var/lib/ ...
- Spring+Hibernate实现动态SessionFactory切换(改进版)
前面写了一篇关于动态切换Hibernate SessionFactory的文章 发现存在一些问题: 需要配置多个HibernateTransactionManager和多个Spring 切面 这样带来 ...
- 关于MDN,HTML入门来自MDN文档
由开发者和作者组成的开源社区:推动web发展, MDN(Mozilla Developer Network) 维基,共同维护做贡献: 需要使用到github账号进行验证,以此再创建MDN账号: HTM ...
- convert(varchar(10),字段名,转换格式
sql 时间转换格式 ) convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121)CONVERT为日期转换函数,一般就是在时 ...
- springmvc+hibernate
<本文摘要他人> 1.设计数据库:设计好表结构,最好符合3NF,采用Hibernate tools将设计好的表自动生成对应的实体entity. 1.创建Maven项目,按需映入Maven包 ...
- overflow:hidden;和clear:both;的不同点
overflow:hidden;是针对被浮动元素的父级元素,是让父级元素找回原来的高,因为浮动的元素会让父级元素的高塌陷: 而clear:both:它是在新的元素上面书写,它是让上面浮动的元素不要干扰 ...
- 简单数据库开发之dao层开发
数据库 dao层是用来与底层数据库连接的一系列代码,它因上层service层调用而调用底层数据库,因为一般的数据库不会只存在一到几张表格,所以必须定义出dao层的接口协议,方便各种表格的操作. dao ...
- 深入理解iostat
前言 iostat算是比较重要的查看块设备运行状态的工具,相信大多数使用Linux的同学都用过这个工具,或者听说过这个工具.但是对于这个工具,引起的误解也是最多的,大多数人对这个工具处于朦朦胧胧的状态 ...
- PHP 简易聊天室 利用redis的订阅发布功能
demo:http://www.200ok.fun:8083/api/chat/list 前言:这个种方式太耗redis连接数,每次订阅都会新起一个进程,仅供练手使用,切勿用于生产环境. 原理:1.P ...
- 微信小程序--地图组件与api-模拟器上返回的scale 与真机上不同--bindregionchange触发图标一直闪现问题
场景:根据地理定位获取不同地区的充电桩位置,要求 1.平移的时候,跟随坐标变化展示不同区域的坐标点信息 2.不同的缩放等级,14以下,展示聚合点数据,14以上,展示真正的站点信息: 3.点击聚合点的时 ...