`
javafxguy
  • 浏览: 151133 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Java的Swing应用中使用JavaFX的功能

阅读更多

本文本来打算在JavaFX论坛上发表,但是觉得Java的开发人员可能会对涉及的内容更感兴趣。于是先发表在这里吧。

 

JavaFX包含了许多强大的功能,它们都是Java SE不具备的,如图表Charting,动画,媒体播放,RSS/Atom等,于是程序员常常讨论如何在Java中调用JavaFX的功能。笔者文章纯Java代码调用JavaFX的功能JavaFX和Java之间的互操作性对此作过专题讨论。在Stephen Chin的开源项目JFXtras最新版本中, 提供了一个JavaFX的封装类,可以在SWING应用中显示JavaFX的图性元素(动画,图表等)。这是个十分有用的功能,对广大的Java(Swing)开发人员来说是个好消息。JFXtras的源代码中包含了相关的演示程序(SceneToJComponentScene.fxSceneToJComponentTest.java)。我把这个程序修改了一下,以便说明问题。

 

在文中注明:转自 http://javafxguy.iteye.com  作者:JavaFXGuy,即可获得授权转载.

 

  

 

在上面代码MyScene.fx中, 我们定义了一个Timeline实例来播放动画,在动画中,我们不断的使一行文本在窗口中旋转。每隔70毫秒,都会触发一次旋转角度的变化(每次5度)。为了演示在JavaFX和Java中交互数据,我们在每次更新时,从Java的静态变量中获取数据,具体代码如下:


本"JavaFX for SWING"在窗口中央旋转。如果你在输入框中输入新的句子,你会发现旋转的文字也发生了改变。你可以点击以下截图来启动一个Java Web Start的演示程序(JDK1.5以上),或者可以点击这里来观看演示的视频(需要有Windows Media Player)。

 

 

讨论
1) 在上述程序中,我们用JavaFX的代码去轮询Java的变量值,实际中这会损失比较多的性能,所以我们可以从Java代码中主动把数据变化通知JavaFX。这需要一种从Java调用javafx的技巧,可以参见本人文章:用Java代码调用JavaFX的功能http://www.javafxblogs.com/java-call-javafx-code/).

2) 在Swing程序中调用JavaFX是可行的,那么应该怎样编译和运行这样的程序呢。其实,JavaFX的功能也就是一些jar文件,因此和Java的结合方式还是比较简单的。编译的方法主要有两种,一种就是用JavaFX 的编译器javafxc来编译Java和JavaFX的代码。第二种就是用javafxc编译JavaFX代码,用javac编译java代码。运行程序的时候,我们可以选择javafxjava命令即可,可以参见本人文章:JavaFX技巧:纯Java代码调用JavaFX的例子的详细说明。

 

如果有什么问题,欢迎留言讨论。

 

相关文章:

JavaFX技巧:纯Java代码调用JavaFX的例子

登上JavaOne大讲台的JavaFX吃豆人游戏

升级到JavaFX 1.2的简便方法

JavaFX 1.2的新特性

怎样用JavaFX编写游戏:吃豆人(Pac-Man)

JavaFX的Effect功能例子:编写许愿树程序 (1)

 

分享到:
评论

相关推荐

    在swing界面中嵌入javaFX运行的视频

    对于那些希望在现有Swing应用中添加视频功能的开发者来说,这是一种实用的方法。 需要注意的是,由于JavaFX不再作为Java SE的标准部分,因此在较新的Java版本中,可能需要单独安装JavaFX SDK,并通过模块系统导入...

    java swing 调用本地摄像头

    下面将详细介绍如何在Java Swing应用中实现这一功能。 首先,让我们了解Java Media Framework (JMF)。JMF 是一个可扩展的平台,用于处理音频、视频和流媒体内容。在Java Swing应用中,我们可以使用JMF来捕获来自...

    java+swing漂亮软件界面+超酷+以及javaswing教程.7z

    "javaswing教程"这部分内容可能包括了对Swing组件的详细讲解,如何使用它们,如何进行事件处理(如按钮点击事件),以及如何实现组件间的数据交互。此外,可能还包括了如何添加动画效果,使界面更生动,符合“超酷”...

    课程设计-基于Java swing带GUI界面的客户信息管理系统(源码+数据库).zip

    尽管标题中提到了Java Swing,但JavaFX的出现意味着开发者可能在某些部分或整个项目中使用了JavaFX以增强用户体验。 总的来说,这个客户信息管理系统展示了Java在桌面应用开发中的强大能力,结合了GUI设计、数据库...

    java Swing 中调用摄像头拍照源码(有说明)

    在Java Swing应用中,可以创建一个组件来显示摄像头的实时视频流,然后通过捕获帧来实现拍照功能。 4. **源码分析**: 源码通常会包含以下几个关键部分: - 初始化JMF:设置环境,注册摄像头设备。 - 创建视频...

    java swing 时间日期选择控件

    在压缩包的"swing 时间控件"中,可能包含了实现这些功能的示例代码、源文件或资源文件,可以帮助开发者快速理解和集成这些日期时间选择控件到自己的Swing应用中。通过研究这些文件,开发者可以学习如何自定义日期...

    JAVAFX的贪吃蛇以及可以用Swing打开的JAVAFX的贪吃蛇

    这使得一个已经使用Swing构建的应用程序可以无缝地添加JavaFX的功能,比如在这个案例中,可能是通过Swing界面启动JavaFX的贪吃蛇游戏。 6. **文件名分析**:SnakeGame.java很可能是主游戏类,包含了游戏的初始化、...

    java swing模拟键盘

    同时,为了在iPad或其他移动设备上运行,你可能还需要考虑使用JavaFX或第三方库,如RoboVM,将Java应用程序转换为iOS应用。不过,这里主要讨论的是使用Java Swing在桌面环境中模拟键盘的基本方法。

    JavaSwing小程序

    Java Swing小程序是Java编程领域中用于构建桌面应用用户界面的一种工具包。它是Java Foundation Classes (JFC) 的一部分,提供了一套丰富的组件和接口,使得开发者可以通过图形化的方式来设计和构建应用程序的界面。...

    基于SWING+JAVAFX的MP3播放器

    在Java编程环境中,SWING和JAVAFX是两种常用的图形用户界面(GUI)工具包,用于构建桌面应用程序。本项目结合了两者,创建了一个功能完备的MP3播放器。这种设计方式充分利用了SWING的稳定性和JAVAFX的现代视觉效果,...

    打字小游戏 java swing

    他们可以通过阅读源代码了解如何将Java Swing应用到实际项目中,以及如何实现游戏逻辑。 总之,"打字小游戏 java swing"结合了Java编程语言和Swing库,提供了一个寓教于乐的平台,让用户在娱乐中提升打字技巧。通过...

    如何将JxBrowser UI控件添加到Java Swing应用程序中。

    嗨,在本视频中,您将学习如何将JxBrowser UI控件添加到Java Swing应用程序中。我将从头创建一个简单的swing应用程序,但您也可以将JxBrowser添加到您的Java Swing应用程序中。使用本教程中的说明,让我们创建一个...

    java浏览器+swing嵌套网页+源码免费

    这个项目的源码是一个很好的学习资源,可以帮助开发者了解如何在Java Swing应用中集成Web浏览功能。通过研究和理解源码,你可以学习到如何处理网络请求,如何渲染HTML内容,以及如何在Java应用中嵌入复杂的交互式...

    java swing 内嵌浏览器

    标题 "java swing 内嵌浏览器" 提到的,就是关于如何在Java Swing应用中集成一个内建的Web浏览器功能。这种技术通常依赖于第三方库,例如DJ Native Swing。DJ Native Swing是一个开源项目,它提供了将Java Swing与 ...

    Java_Swing程序设计

    在实际开发中,Swing经常与其他Java库结合使用,如JavaFX,以增强图形表现和交互性。Swing也支持模态对话框和非模态对话框,方便创建提示用户输入或确认操作的窗口。 总的来说,Java Swing程序设计涵盖了组件使用、...

    JAVA Swing小游戏实例与代码

    在Java Swing中,我们可以使用JPanel自定义绘制游戏场景,通过KeyListener监听键盘事件来控制角色移动。同时,可以利用Timer类来实现游戏的定时更新,比如怪物的移动和碰撞检测。 2. **端口扫描器**: 端口扫描是...

    java swing 游戏 星际争霸 java swing 游戏 星际争霸

    在Java Swing中开发游戏,可以利用其灵活性和可定制性来创建复杂的交互式应用程序,如“星际争霸”这样的策略游戏。 在Java Swing中构建游戏“星际争霸”,首先需要理解Swing的基本组件和布局管理器。Swing提供了...

    Java课程设计-基于Java swing的学生信息管理系统(教务系统).rar

    在“Java课程设计-基于Java Swing的学生信息管理系统(教务系统)”项目中,学生将学习如何利用Java Swing库来创建一个功能丰富的教务管理系统。这个系统可能包含以下关键组件和知识点: 1. **窗口组件**:Java ...

    [Java Swing图形界面开发与案例详解].王鹏等.扫描版

    扫描版" 这本书将指导读者如何利用Java Swing创建功能丰富的桌面应用程序,包括组件使用、事件处理、布局管理、数据模型、多线程技术等方面的知识,通过案例分析和实践练习,帮助读者成为一名熟练的Swing开发者。...

    Java-Swing界面的摄像头\\高拍仪抓图功能,有预览视频-使用xuggle。

    在Java Swing中实现摄像头或高拍仪的抓图功能,可以极大地增强应用的交互性和实用性。本教程将深入探讨如何利用Xuggler库来实现在Java Swing界面上进行摄像头预览和抓图。 首先,Xuggler是一个开源的Java库,主要...

Global site tag (gtag.js) - Google Analytics