JavaFX入门

概述:
JavaFX的应用程序的顶级容器是stage(舞台),创建javafx的应用程序首先应该是集成Application类,通过覆盖start方法来显示在界面中显示的内容,覆盖start方法要做的事
1、创建根节点root,根节点的对象是Parent及Parent派生类的实例
2、以root为根结点参数创建一个Scene(场景)对象scene
3、设置primaryStage的场景为scene
4、调用primaryStage的show方法

1、Application类

Application的子类是Preloader
JavaFX应用程序的入口点是Application类。无论何时启动应用程序,JavaFX运行时都按顺序执行以下操作:

构造指定的Application类的实例
调用init()方法
调用start(javafx.stage.Stage)方法
等待应用程序完成,发生以下任一情况时:
该应用程序调用Platform.exit()
最后一个窗口已关闭,Platform上的implicitExit属性为true
调用stop()方法
请注意,start方法是抽象的,必须被覆盖。 init和stop方法可以不具体的实现。

调用Platform.exit()是明确终止JavaFX应用程序的首选方式。直接调用System.exit(int)是一个可以接受的替代方法,但不允许Application stop()结束JavaFx程序。

在FX工具包终止或ShutdownHook之后,即在stop()方法返回或调用System.exit(int)之后,JavaFX应用程序不应尝试使用JavaFX。

通过从init()方法调用getParameters()方法,或调用init方法后的任何时间,可以使用应用程序参数。

2、Scene类

JavaFX Scene类是场景图中所有内容的容器。填充属性指定场景的背景。
应用程序必须通过设置根属性来指定场景图的根节点。如果使用组作为根,则场景图的内容将被场景的宽度和高度剪切,并且改变为场景的大小(如果用户调整舞台大小)将不会改变场景图的布局。
如果一个可调整大小的节点(将“区域”或“控件”设置为根,则根的大小将跟踪场景的大小,从而根据需要将内容中继出来。

场景的大小可以在应用程序构造期间初始化。如果没有指定大小,场景将根据其内容的首选大小自动计算其初始大小。如果仅指定了一个维度,则使用指定的维度来计算另一个维度,该范围涉及根的内容偏差。

应用程序可以在创建场景时请求深度缓冲区支持或场景抗锯齿支持。只有2D形状和没有任何3D变换的场景不需要深度缓冲区和场景抗锯齿支持。包含3D形状或具有3D变换的2D形状的场景可以使用深度缓冲区支持来进行适当的深度排序渲染;为了避免深度战斗(也称为Z战斗),禁用没有3D转换的2D形状的深度测试。有关详细信息,请参阅depthTest。具有3D形状的场景可以实现场景抗锯齿以改善其渲染质量。

depthBuffer和antiAliasing标志是条件特征。使用各自的默认值:false和SceneAntialiasing.DISABLED。有关详细信息,请参阅ConditionalFeature.SCENE3D。

默认头灯将被添加到包含一个或多个Shape3D节点但没有光节点的场景中。该光源是位于相机位置的Color.WHITE PointLight。

必须在JavaFX应用程序线程上构建和修改场景对象。

3、Scene的根节点Parent

它的派生类有以下:
Group,Region(子类:Axis(子类:CategoryAxis, ValueAxis), Chart(子类:PieChart, XYChart), Control(子类:Accordion, ButtonBar, ChoiceBox, ComboBoxBase, HTMLEditor, Labeled, ListView, MenuBar, Pagination, ProgressIndicator, ScrollBar, ScrollPane, Separator, Slider, Spinner, SplitPane, TableView, TabPane, TextInputControl, ToolBar, TreeTableView, TreeView), Pane(子类:AnchorPane, BorderPane, DialogPane, FlowPane, GridPane, HBox, PopupControl.CSSBridge, StackPane, TextFlow, TilePane, VBox)),WebView(子类:)
公共抽象类Parent
扩展Node在场景图中具有子节点的所有节点的基类。
该类处理所有分层场景图操作,包括添加/删除子节点,标记用于布局和渲染的分支,采摘,边界计算以及对每个脉冲执行布局传递。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 原文地址:https://www.tutorialspoint.com/javafx/javafx_applica...
    Eirture阅读 7,702评论 0 16
  • 软件百度网盘路径:我的网盘/Java/JavaFx环境部署1.安装eclipse集成包(包已集成jdk1.8,Ja...
    Mixqum阅读 3,386评论 0 2
  • JavaFX入门参考,高优质资料:http://www.javafxchina.net/blog/docs/tut...
    heguorui阅读 12,931评论 10 23
  • 离舟山本岛最近的小岛, 大概便是鲁家峙了吧。 曾经只能看着小渡轮来往的地方, 如今和本岛建立了一座大桥和一个海底隧...
    问见海小鲜阅读 226评论 0 0