javaFx1

javaFx中文文档
http://www.javafxchina.net/blog/docs/tutorial1/
ml3947的博客
http://blog.csdn.net/ml3947

javaFX架构的顶层部分JavaFX场景图,是一个层级结构的节点树,表示所有用户界面的视觉元素。在场景图中的一个元素被称为一个节点(Node)。每个节点都有一个ID、样式类和包围盒(bounding volume)。除了根节点之外,在场景图中的所有节点都有一个父节点、0个或多个子节点。

允许使用Java的强大特性,例如泛型、注解、多线程、Lamda表达式(从Java8开始引入)

##GLASS窗体工具包

Glass窗体工具包(Glass Windowing Toolkit)在图2-1中处于整体架构的中间位置,它处于JavaFX图形技术栈的最底层。其主要职责是提供本地操作服务,例如窗体、计时器、皮肤。它是连接JavaFX层与本地操作系统的平台无关层。

JavaFX应用程序线程:这是JavaFX应用开发者使用的主要线程。任何“活动”的场景都是窗体的一部分,它们都必需通过此线程来访问。场景图可以通过一个后台线程来创建和控制,但是如果其根节点与任何活动对象相关,则该场景图必需通过JavaFX应用程序线程来访问。这允许开发者在背景线程上创建复杂的场景图,而与此同时在“活动”场景中保持动画的流畅。由于JavaFX应用程序线程与Swing和AWT事件调度线程(EDT)不同,所以在将JavaFX代码嵌入到Swing应用程序中时必需小心。

##布局

布局容器(Layoutcontainer)或面板(Pane)允许对JavaFX应用程序场景图中的UI控件进行灵活、动态的排布。JavaFX Layout API包括下列容器类:

● BorderPane类将其内容节点放到上、下、左、右、中各个区域中。

● HBox类将其内容节点横向排成一行。

● VBox类将其内容节点纵向排成一列。

● StackPane类将其内容节点摞在一起。

● GridPane类允许开发者创建一个灵活的网格,按行列来布局其内容节点。

● FlowPane类将其内容按行或列进行”流式“布局,当遇到横向或纵向的边界时自动进行换行或换列。

● TilePane类将其内容放到统一大小的单元格中。

● AnchorPane类允许开发者创建锚节点,将控件停靠于布局的上下左右各边,也可以居中停靠。

为了获得理想的布局结构,可以在JavaFX应用中嵌套使用各类布局。

##视觉效果

在JavaFX场景图中开发富客户端界面包括使用视觉效果来实时地美化JavaFX应用程序的外观。JavaFX的视觉效果主要是基于像素的图像,因此它们需要先获取场景图中节点渲染成图像,再将视觉效果添加上去。

JavaFX中通过下面的类来提供一些常用的视觉效果:

● Drop Shadow——应用视觉效果后将为给定的内容渲染一个在它的后面的阴影。

● Reflection——在真实的内容后面渲染一个反射倒影。

● Lighting——模仿一个光源的照射效果,使一个平面的对象看起来更真实、具有三维效果。