JavaFx自定义窗体
来源:互联网 发布:软件开发模型有哪些 编辑:程序博客网 时间:2024/05/29 18:34
创建窗体的时候会默认的使用系统的的最大最小化关闭的窗体,但是默认的窗体的风格有时不满足需求,需要自定义的窗体来满足我们的需求
步骤一:
在代码中使用 去掉窗体头,
Stage addStage = new Stage();
addStage.initStyle(StageStyle.TRANSPARENT);//隐藏头标题
addStage 是一个新建的dialog的舞台
之后自己在布局中绘制自己想要的一种效果,在顶端布置一个Button,使用css对本button加入效果,
//使用下面的代码会让pane多了一个外边框,并且这样做的时候外边框是有圆角效果的,
#pane_pane{ -fx-background-radius: 3px; -fx-border-color:#95AFA6; -fx-border-width:3px; -fx-border-radius:3px;}
但是问题是,由于给pane设置了外边框,这样的布局在外面显示圆角的时候仍然会有一个方形的尖角存在布局中,所以还要在代码中加入控制:
//设置pane的背景色为透明
scene.setFill(Color.TRANSPARENT);
或者scene.setFill(null);
下面就是给button加入默认的图片和鼠标经过的图片,
#btn_close{ -fx-background-image:url("btn_close_normal.png");}#btn_close:hover{ -fx-background-image:url("btn_close_hover.jpg");}
最后就是给button加入一个点击事件,在javafx中即加入一个ActionEvent或者MouseEvent,在方法中,添加关闭dialog的功能代码
// dialogStage.close();关闭本对话框
// Platform.exit();关闭整个系统
之后因为dialog是一个新建的stage,当点击除了dialog页面的部分外,不允许进行操作,除非dialog关闭 后才能对其他页面进行操作
dialogStage.initStyle(StageStyle.TRANSPARENT);
dialogStage.initModality(Modality.WINDOW_MODAL);
dialogStage.initOwner(primaryStage);
使用inintModality和initOwner配合使用,可以实现这一点,但是问题在于,该怎么获取这个Stage的对象,可以将 dialogStage.initOwner(primaryStage);中的参数primaryStage是你要覆盖在哪一个上面的stage,这个 代码意思就是,当前的dialogStage
在PrimaryStage的上面,即实现了窗口不关闭不允许操作。
1 0
- JavaFx自定义窗体
- javafx自定义窗体(高级篇)
- javafx 不规则窗体实现
- title: JavaFx自定义Tab-Order
- 自定义窗体
- javafx窗口风格、包括自定义标题栏
- JavaFx
- JavaFX
- JavaFX
- javaFX
- JavaFx
- JAVAFX
- javafx
- JavaFX
- JavaFX
- javaFX
- javaFX
- JavaFX
- 题目2:在斐波那契数列中,找出4百万以下的项中值为偶数的项之和。
- POJ2029:Get Many Persimmon Trees(二维树状数组)
- 分数的四则运算
- HDU 1533 Going Home(最小费用流)
- 家校垂直领域的微信
- JavaFx自定义窗体
- 随堂笔记day5
- 1024. Palindromic Number (25)
- 构建基于IBM BlueMix的PHP网站
- 认识自己
- 运算符重载
- 约瑟夫环数学算法的优化(转)
- Java格式输出
- Python Flask 初体验(缘分匹配小项目)