• Javafx 入门教程(一)


    一、Stage 舞台

      stage 是窗口,首先当然创建一个窗口。下面我们来探索窗口都有哪些功能。其中它继承了window ,所以带有window 的功能,其中带有 Property 就是监听的意思

    • 窗口开始显示的位置  primaryStage.setAlwaysOnTop(true)  是否显示在顶部
    • 全屏提醒(b必须要有screen)   primaryStage.setFullScreenExitHint("提醒")
    •  最大(小)高度和宽度  primaryStage.setMaxHeight(800);   primaryStage.setMaxWidth(800);
    • 是否可调整大小   primaryStage.setResizable(false);
    • 设置标题        primaryStage.setTitle("标题")
    • 页面初始话的时候是最小化的  primaryStage.setIconified(true)
    • 设置窗口的图标  primaryStage.getIcons().add(new Image(path))
    • 关闭窗口  primaryStage.close() 
    • 菜单栏中样式控制   如 使用UTILITY 只有一个关闭的按钮  primaryStage.initStyle(StageStyle.DECORATED)
    • scene 跳过,基本没有可用的 

    二、Screen 的使用

      这个一般作用不大,可以获取到计算机屏幕的信息。

    Screen primary = Screen.getPrimary();
            double dpi = primary.getDpi();
            Rectangle2D bounds = primary.getBounds();
            Rectangle2D visualBounds = primary.getVisualBounds();
            double maxX = bounds.getMaxX();
            double maxY = bounds.getMaxY();
            double vmaxX = visualBounds.getMaxX();
            double vmaxY = visualBounds.getMaxY();
            System.out.println("屏幕dpi:"+dpi);
            System.out.println("屏幕大小:"+maxX+","+maxY);
            System.out.println("可视大小:"+vmaxX+","+vmaxY);

     三、以AnchorPane为例说明基本属性

      用这个做一个示范,先探索里面的方法设置。不同pane,里面的作用不同。首先根据 SceneBuilder 格式进行探索,为了方便,我们需要在里面放几个按钮

      1.通用属性

    • 可以对子节点的位置进行设置,当这个设置之后,子节点有些自己的设置就会失效。如 AnchorPane.bottomAnchor="20" AnchorPane.leftAnchor="20" AnchorPane.rightAnchor="20" AnchorPane.topAnchor="20" 这个设置全之后,子组件会随着父组件的变化而变化。在图形化工具中如下(这个是子类的图形页面),一定要设置完全,否则失效
    • 在拖动的过程中,也可以设置 最大大小和最小的大小发现不起作用,位置也不起作用,就是上面的影响了
    • 如果没有设置上面的属性,那么可以使用当前大小,以及位置,不会随着父类拖动而改变,但是最大和最小没有效果。
    • disable  节点的禁用状态,禁用后,不会触发事件
    • opacity  节点的透明度
    • setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT); 指定节点的绘制方向, INHERIT 标识跟从父类方向
    • setVisible(true) 设置节点是否可见  不可见的节点不会有鼠标或者键盘的事件
    • setFocusTraversable(true); 按照官方文档定义,焦点移动遍历。 用  shift + tab 键组合使用,可能是我用的按钮的原因,这个功能没有测试出来 
    • setCacheShape(true)  定义区域背景的颜色是稳定的,可以使用缓存
    • setCenterShape  定义形状是否以区域的宽度和高度为中心
    • setScaleShape 定义形状是否缩放匹配区域大小
    • setOpaqueInsets 定义绘制完全不透明像素的区域的区域   这个功能还没有测试出来    
    • setCursor  定义鼠标指针的形状
    • setEffect 设置显示的效果  (绚丽的特效)
    • setStyle 设置样式,要使用 javafx 的css 样式标准
    • getStylesheets().add   添加css 文件
    • getStyleClass().add   添加 相当于html中 class属性 
    • setId()  类似于 css 中id属性 
    • setBlendMode  用于将这个单独的节点混合到它后面的场景中
    • setCache  是否开启缓存 
    • setCacheHint 缓存提示
    • setDepthTest 是否启动深度测试   如果禁止,将不再使用深度缓存区
    • setMouseTransparent  鼠标是否透明   如果为真,表示不触发鼠标事件
    • setPickOnBounds 定义如鼠标的事件边界
    • setAccessibleRole 此节点可访问角色
    • setAccessibleHelp  此节点的可访问帮助文本。  如果有工具提示,则使用该文档
    • setAccessibleText  设置屏幕阅读器将要显示的文本
    • padding   节点的内边距
    • min width   最小宽度    prefwidth 设置宽度    max  width 最大宽度      最大最小容易发生冲突
    • layout X    相对父类的横的坐标    layout Y  纵坐标
    • rotate 旋转度
    • rotation axis   按照什么方向进行旋转  x   y  z
    • scale X     定义 X 轴的缩放因子 
    • isSnapToPixel  是否将其子类的位置调整为像素边界
    •  剩下的就是事件了,这里就不多介绍了
  • 相关阅读:
    awk书上练习
    矩阵运算
    从最大似然到EM算法浅解
    numpy 练习
    python lxml教程
    pycharm快捷键
    python正则表达式教程
    三门问题
    Solr本地服务器搭建及查询
    git简单使用
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/11814034.html
Copyright © 2020-2023  润新知