• JavaFX学习:认识 Stage 窗口相关


    代码示例

    public class Main extends Application {
        @Override
        public void start(Stage primaryStage) throws Exception {
            /*
                javafx.stage.Stage:是一个窗口
                    Stage继承于 javafx.stage.Window(继承于 Object)
                    在不同的平台上具有不同的效果显示
             */
    
            primaryStage.setTitle("这是标题");
            // primaryStage.getIcons().add(new Image("/icon/icon.png")); // 设置图标
            // primaryStage.setIconified(true); // 设置窗口最小化
            // primaryStage.setMaximized(true); // 设置窗口最大化
            primaryStage.setWidth(500); // 设置宽度
            primaryStage.setHeight(500); // 设置高度
            primaryStage.setMaxHeight(700); // 设置最大高度
            primaryStage.setMinHeight(300); // 设置最小高度
            primaryStage.setMaxWidth(700); // 设置最大宽度
            primaryStage.setMinWidth(300); // 设置最小宽度
            // primaryStage.setResizable(false); // 设置是否可以改变窗口大小
    
            // 监听高度的变化
            primaryStage.heightProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                    System.out.println("newHeight = " + newValue);
                }
            });
    
            // 监听宽度的变化
            primaryStage.widthProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                    System.out.println("new Width = " + newValue);
                }
            });
    
            // 监听窗口 x坐标 的变动
            primaryStage.xProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                    System.out.println("x = " + newValue);
                }
            });
            // 监听窗口 y坐标 的变动
            primaryStage.yProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                    System.out.println("y = " + newValue);
                }
            });
    
            // 设置全屏(与最大化不同)
            //primaryStage.setFullScreen(true);
            //primaryStage.setScene(new Scene(new Group()));
    
            primaryStage.show(); // 让窗口进行显示
            // primaryStage.close(); // 关闭窗口
    
            // 如果没有设定宽高,则需要在 show 方法之后再去获取宽高
    
    
            // 也可以不用参数提供的这个窗口,自己创建一个
            Stage stage = new Stage();
            stage.show();
            Thread.sleep(3000);
            stage.close();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    
  • 相关阅读:
    前端二维码生成方式
    svn 本地仓库使用
    layer.open实现图片预览
    基于FreethEarh框架开发的3D综合态势系统
    Cesium原理篇:6 Render模块(5: VAO&RenderState&Command)【转】
    Cesium中DrawCommand使用【转】
    Cesium案例解析(三)——Camera相机[转]
    Cesium.knockout【转】
    Java堆和栈的区别
    Kafka Eagle安装详情及问题解答
  • 原文地址:https://www.cnblogs.com/wbyixx/p/14207680.html
Copyright © 2020-2023  润新知