版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1、Stage和Scene分别是什么?
答:一般我们双击一个exe然后等一会回弹出个窗口,是的,这个窗口整个就可以理解为一个Stage,也就是说Stage是一个窗口;窗口顶部一般都有固定的一行里面左边是窗口标题,右边是最小化、最大化的关闭窗口按钮,不要这一行,再不要窗口的边框,剩下的区域就是Scene(场景),这两个合起来就像电视机:Stage是电脑框架,Scene是电视屏幕。
个人理解,如有出入敬请谅解!
2、实例演示Stage常用属性
实际使用中Stage的属性用得较多,Scene几乎就只是当个容器,没什么机会表现,所以一般只要关注Stage就OK.
package zkh.javafx.learn.stagescene;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import zkh.javafx.util.Constants;
/**
* Stage和Scene组合
*/
// 继承javafx.application.Application是JavaFX的开始
public class StageScene extends Application {
/**
* Stage:就是你能看到的整个软件界面(窗口)
* Scene:就是除了窗口最上面有最大、最小化及关闭按钮那一行及窗口边框外其它的区域(场景)
* 场景(Scene)是一个窗口(Stage)必不可少的
*/
@Override
public void start(Stage stage) throws Exception {
// 窗口的名字
stage.setTitle(Constants.TITLE);
// 窗口的图标
stage.getIcons().add(new Image(Constants.IMG + "icon.png"));
// 窗口的宽度
stage.setWidth(800);
// 窗口的最小宽度
stage.setMinWidth(400);
// 窗口的高度
stage.setHeight(600);
// 窗口的最小高度
stage.setMinHeight(300);
// 设置宽高尺寸可调整,true:可以拖拽边缘调整窗口尺寸,false:不可调整
stage.setResizable(true);
// 窗口最大化
stage.setMaximized(true);
// 定位横纵坐标,避免太靠边上遮盖菜单栏,这两行如果不屑
// 一般电脑默认是居中屏幕显示,但在有些电脑会跑偏
stage.setX(0);
stage.setY(4);
// 1、初始化一个场景
Scene scene = new Scene(new Label(), 800, 600);
// 2、将场景放入窗口
stage.setScene(scene);
// 3、打开窗口
stage.show();
}
public static void main( String[] args ){
// 启动软件
Application.launch(args);
}
}
效果图:
属性就不单独列举了,在代码中体会效果更好,注释也都已经说的很清楚了,看一眼就能懂
3、源代码(不推荐,文章基本都有了)
JavaFX+Jfoenix 学习笔记(二)--Stage和Scene源码
好了,有什么不懂看注释,我相信我的注释!