UI控件JavaFX中UI控件可以通过使用场景中的节点的API来实现。它们从JavaFX平台的丰富的可视化特点中获得优势并在跨平台时有着轻微的不同。JavaFX CSS允许为UI控件定制主题和皮肤。 图3显示了一些现在支持的控件。新的控件,如TitlePane或Accordion,都将在JavaFX 2.0 SDK中被引入。这些控件位于javafx.scene.control包中。 图3 JavaFX UI控件范例 你可以阅读Using JavaFX UI Controls文档和API文档中的javafx.scene.control 包来获取更多的细节信息。 布局布局容器或窗格可被用于在JavaFX应用程序场景中动态、灵活地管理UI控件。JavaFX布局API包括以下容器类,这些类可以自动进行布局: BorderPane将其内容节点分布于上、下、左、右、中间位置。 HBox将其内容节点水平布局于一行中 VBox将其内容节点垂直布局于一列中 StackPane将其内容节点以从后到前的顺序布局于一个栈中 GridPane允许开发人员创建灵活行列数目的格子,并在格子中存放内容节点 FlowPane将其内容节点在水平方向或垂直方向上按顺序布局,并以特定宽度和高度的边界进行包裹。 TilePane将其内容节点布局于一致大小的单元中。 AnchorPane允许开发人员在上下左右或者中间创建锚节点。 在JavaFX应用中,想要实现希望的布局效果,可以综合使用不同的容器。 你可以阅读Working with Layouts in JavaFX文献或查看API中的javafx.scene.layout包来获取更多信息。 2D和3D变换在JavaFX场景中的每个节点都可以使用javafx.scene.transform(原文这里应该是打错了)进行二维坐标变换: 平移变换(translate):将一个节点从一个地方根据初始位置移动到另一个地方 拉伸变换(scale):将一个节点根据缩放因子进行缩放 扭曲变换(shear):将一个节点根据不垂直的x、y轴进行旋转。 旋转变换(rotate):将一个节点根据场景中的某个点进行旋转 仿射变换(affine):(若干balabala...看计算机图形学教材吧...)该变换不应被直接使用,而是应该使用Translate、Scale、Rotate、Shear来代替。 你可以阅读Applying Transformations in JavaFX文档或查看API中javafx.scene.transform包来获取更多信息。 视觉效果在JavaFX场景中使用视觉效果可以提升JavaFX应用的观赏度。JavaFX效果主要是基于图像点的,因此他可以应用于场景中的一组节点,像图像一样渲染节点并对其应用指定效果。 在JavaFX中有一些视觉效果,下面是一部分: 阴影(Drop Shadow):在给定的内容背后渲染阴影。 反射(Reflection):在内容的下面渲染反射效果 光照(Lighting):模拟光源照射在给定的内容上,可以将扁平的对象变得更加真实,3D化。 在Creating Visual Effects文档中有更多的如何使用视觉效果的例子。更多的视觉效果类参见API文档中的javafx.scene.effect包。 部署JavaFX应用可以通过三种不同的方式被部署于桌面或在浏览器中: 独立(Standalone):JavaFX应用被安装在本地磁盘中,并通过双击JAR文件来启动。当用户无需进行线上访问或应用没有线上功能时,这种模式是最理想的。 浏览器(Browser):在这种模式下,JavaFX应用被嵌入一个Web页中并随着Web页被访问而自动启动。它可以跟Web页中JavaScript进行交互。 网页启动(Web Start):这种模式下,用户下载应用程序并在本地运行。一旦被下载,用户在此之后就可以通过双击JNLP文件来启动应用。 你可以阅读Deploying JavaFX Applications document文档来查看更多关于三种模式和如何准备JavaFX应用部署的信息。 |