在 JavaFX 平台上开发富 Internet 应用程序

 

在 JavaFX 平台上开发富 Internet 应用程序

 

JavaFX 是一个富有表现力的富客户机平台,用于创建和提供跨多个生活场景的富 Internet 体验。

JavaFX 平台为您创建跨多个界面(包括手机、桌面、电视和其它消费设备)的富 Internet 应用程序(RIAs)和内容提供了无与伦比的自由度和灵活性。它将 Java 平台的最佳功能与综合、大量的媒体功能结合到直观、综合、一站式开发的环境中。

JavaFX 平台允许内容开发人员集中精力创造而不是编码。它使开发人员能够创建改变了行业面貌的应用程序和吸引人的内容,具有最大的市场渗透机会。

JavaFX 1.0 是 Sun 战略的第一步,使应用程序中包含跨多个界面的大量丰富媒体和内容成为可能。

为什么选择 JavaFX 平台?

 开发人员正在寻求跨多个界面创建 RIAs 的最有效方式。他们需要构建在多个 Web 浏览器、操作系统和设备上无缝操作的高保真 GUI 而不必针对每个界面接入或者重写应用程序。为了实现这一目标,开发人员需要与团队成员高效工作,例如与图形设计人员和媒体创作者交换音频、视频和其他富媒体资源。

JavaFX 1.0 平台引入了基本的工具和技术,使开发人员和设计人员能够协作、创建 RIA 并将其部署到浏览器和桌面上。此外,移动应用程序开发人员可以在 JavaFX 平台上使用 JavaFX 1.0 Mobile Emulator Beta 发行版来预览移动 RIA 的开发。

JavaFX 1.0 平台的主要特性包括:

  • 一站式服务 RIA 平台适合于所有界面:使用统一开发和部署模型跨桌面、浏览器和移动设备进行吸引人的可视化体验。
  • 最广泛的市场:借助 Java 的强大功能可以轻松地在亿万台设备间分发 RIA。
  • 设计人员-开发人员工作流:显著缩短设计和开发的生产周期。
  • 功能强大的运行时:利用 Java 运行时的极大的普及性、强大功能、性能和安全性。
  • 可以随意与浏览器断开:将 JavaFX 应用程序从浏览器拖放出来并部署到桌面。
  • Java 技术的兼容性: 通过在 JavaFX 应用程序内启用 Java 库来保留您的投资。

我们能使用 JavaFX 1.0 构建什么?

在此,我们从范围广泛的 JavaFX 示例库中选出一些示例,让您品味一下 JavaFX 技术的魅力。单击每个缩略图以运行示例应用程序并查看解释该应用程序构建过程的说明。

 简单视频播放器

本示例使用 JavaFX Media Component 这一提供所有标准视频播放器的预制视频播放器控制您可能需要的内容。将视频合并到您的应用程序中很简单,只需创建本组件的一个实例,设置几个变量,并包括一个到视频资源的链接。

 三维显示机框

本示例使用内置在 JavaFX 中的透视转换特性来轻松创建一个带有三维效果的照相簿。

 路径动画

本示例向您展示如何使一个形状沿着任意矢量路径活动。其中有两个场景:跑道上跑动的轿车和在微波中荡漾的小船。您只需为可视资源创建一个动画节点并为该节点运动的轨迹创建一个路径。

 飞碟

本示例向您展示如何创建一个从浏览器中逃脱,绕浏览器外飞几圈,然后在回到浏览器中着陆的飞碟。这种 Java SE 6 更新 10 中新的进程外 Java applet 插件使您能够制作在浏览器外运行的 applet。

JavaFX 平台组件

JavaFX 平台架构如下图所示。将鼠标移动到图中任意方框上查看说明。

ApplicationsContentServicesApplication FrameworkDesktop ElementsMobile ElementsTV elementsCommon ElementsJavaFX RuntimeDesigner ToolsDeveloper Tools

 

 

JavaFX 平台结合了一种易懂的声明性语言 JavaFX Script,开发工具集、图形、媒体和音频支持库,以及运行时环境。这一特性确保了 RIA 能够在具有不同外形规格和功能的设备间提供一个一致的界面外观。

JavaFX 技术的组成

使用 JavaFX 开始开发应用程序所需的功能将可用的下载有机地组织起来。图中显示了下载包内容,以下章节对各个下载包所包含的内容作了详细的介绍。

### 使用JavaFX创建图片查看器 要使用JavaFX创建一个简单的图片查看器,可以通过加载图像并将其实例化为`ImageView`对象来完成。以下是详细的说明以及示例代码。 #### 1. 加载图像 在JavaFX中,可以使用`Image`类加载外部图像资源。支持多种格式(如PNG、JPEG等),并通过URL或文件路径指定位置[^5]。 ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class ImageViewer extends Application { @Override public void start(Stage primaryStage) { // 创建一个新的 Image 对象 Image image = new Image("file:path/to/your/image.png"); // 替换为实际的图像路径 // 将 Image 添加到 ImageView 中 ImageView imageView = new ImageView(image); // 设置缩放比例和其他属性 imageView.setFitWidth(800); // 设置宽度 imageView.setPreserveRatio(true); // 维持宽高比 imageView.setSmooth(true); // 平滑处理 VBox root = new VBox(); root.getChildren().add(imageView); Scene scene = new Scene(root, 800, 600); primaryStage.setTitle("JavaFX 图片查看器"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 上述代码展示了如何加载一张本地图片并显示在一个窗口中。注意替换 `"path/to/your/image.png"` 为你自己的图片路径[^5]。 #### 2. 动态调整大小 为了使图片能够动态适应窗口尺寸变化,可以监听场景的变化事件,并更新 `ImageView` 的尺寸: ```java primaryStage.widthProperty().addListener((observable, oldValue, newValue) -> { imageView.setFitWidth(newValue.doubleValue()); }); primaryStage.heightProperty().addListener((observable, oldValue, newValue) -> { imageView.setFitHeight(newValue.doubleValue() * aspectRatio); // 计算高度保持比例 }); ``` 这里假设已计算好图片的纵横比 (`aspectRatio`) 来维持原始比例[^6]。 #### 3. 增加滚动条功能 当图片过大无法完全展示时,可加入滚动条以便浏览整个画面。这需要用到 `ScrollPane` 控件包裹 `ImageView`: ```java ScrollPane scrollPane = new ScrollPane(imageView); root.getChildren().setAll(scrollPane); scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); ``` 这样即使图片超出当前可视区域也能正常访问全部内容[^7]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值