java scene_JavaFX中场景(Scene)的意义是什么?

泻药*2

最近问javafx的问题又多了起来,看来越来越多人学习java的时候,开始接触到了javafx这个gui工具,前几天刚跟一个学生聊完,说本来没有人选javafx的,都是swing,我说,那swing写出来的能看?他说,不不不,本来没有人选,但是他选了之后,其他人就有了压力,然后一堆人就都用了javafx,哦,peer pressure

扯远了

说回scene,先看张图

其实scene是stage的一部分,但是因为javafx的设计的窗口部分,复用了操作系统自身的窗口的api

所以你在不同的操作系统下,看到的窗口样式是不一样的,stage主要就是用来封装这一层

stage主要有最大化,最小化,关闭这些按钮,就是最外层那些东西

然后scene就是内容的基础类,所有的node都要装到scene里面去

所以scene就是一个分界线,跟os相关的,放在stage里面

跟用户内容相关的,都在scene里面

javafx提供一个scene给你,然后你把你的gui内容放到scene里面去就行了

你的第二个问题,在stage和layout中间添加的这一层scene究竟有什么好处呢?

这个问题其实是有问题的,应该是在stage和root node之间放入一个scene,不是layout

因为root可能并不是layout哦,你可以把button,image view等做成root,只要是node都可以放入作为root node放入scene

而且layout也有很多种,比如stackpane,vbox,hbox,gridpane,pane,group等等,如下图

所以这个时候,保留一个最底层的container,也就是scene,就很有必要了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值