本文本来打算在JavaFX论坛上发表,但是觉得Java的开发人员可能会对涉及的内容更感兴趣。于是先发表在这里吧。
JavaFX包含了许多强大的功能,它们都是Java SE不具备的,如图表Charting,动画,媒体播放,RSS/Atom等,于是程序员常常讨论如何在Java中调用JavaFX的功能。笔者文章纯Java代码调用JavaFX的功能和JavaFX和Java之间的互操作性对此作过专题讨论。在Stephen Chin的开源项目JFXtras最新版本中, 提供了一个JavaFX的封装类,可以在SWING应用中显示JavaFX的图性元素(动画,图表等)。这是个十分有用的功能,对广大的Java(Swing)开发人员来说是个好消息。JFXtras的源代码中包含了相关的演示程序(SceneToJComponentScene.fx和 SceneToJComponentTest.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代码。运行程序的时候,我们可以选择javafx或java命令即可,可以参见本人文章:JavaFX技巧:纯Java代码调用JavaFX的例子的详细说明。
如果有什么问题,欢迎留言讨论。
相关文章:
JavaFX技巧:纯Java代码调用JavaFX的例子
登上JavaOne大讲台的JavaFX吃豆人游戏
升级到JavaFX 1.2的简便方法
JavaFX 1.2的新特性
怎样用JavaFX编写游戏:吃豆人(Pac-Man)
JavaFX的Effect功能例子:编写许愿树程序 (1)
分享到:
- 2009-07-06 15:56
- 浏览 7524
- 评论(0)
- 论坛回复 / 浏览 (0 / 2721)
- 查看更多
相关推荐
对于那些希望在现有Swing应用中添加视频功能的开发者来说,这是一种实用的方法。 需要注意的是,由于JavaFX不再作为Java SE的标准部分,因此在较新的Java版本中,可能需要单独安装JavaFX SDK,并通过模块系统导入...
下面将详细介绍如何在Java Swing应用中实现这一功能。 首先,让我们了解Java Media Framework (JMF)。JMF 是一个可扩展的平台,用于处理音频、视频和流媒体内容。在Java Swing应用中,我们可以使用JMF来捕获来自...
"javaswing教程"这部分内容可能包括了对Swing组件的详细讲解,如何使用它们,如何进行事件处理(如按钮点击事件),以及如何实现组件间的数据交互。此外,可能还包括了如何添加动画效果,使界面更生动,符合“超酷”...
尽管标题中提到了Java Swing,但JavaFX的出现意味着开发者可能在某些部分或整个项目中使用了JavaFX以增强用户体验。 总的来说,这个客户信息管理系统展示了Java在桌面应用开发中的强大能力,结合了GUI设计、数据库...
在Java Swing应用中,可以创建一个组件来显示摄像头的实时视频流,然后通过捕获帧来实现拍照功能。 4. **源码分析**: 源码通常会包含以下几个关键部分: - 初始化JMF:设置环境,注册摄像头设备。 - 创建视频...
在压缩包的"swing 时间控件"中,可能包含了实现这些功能的示例代码、源文件或资源文件,可以帮助开发者快速理解和集成这些日期时间选择控件到自己的Swing应用中。通过研究这些文件,开发者可以学习如何自定义日期...
这使得一个已经使用Swing构建的应用程序可以无缝地添加JavaFX的功能,比如在这个案例中,可能是通过Swing界面启动JavaFX的贪吃蛇游戏。 6. **文件名分析**:SnakeGame.java很可能是主游戏类,包含了游戏的初始化、...
同时,为了在iPad或其他移动设备上运行,你可能还需要考虑使用JavaFX或第三方库,如RoboVM,将Java应用程序转换为iOS应用。不过,这里主要讨论的是使用Java Swing在桌面环境中模拟键盘的基本方法。
Java Swing小程序是Java编程领域中用于构建桌面应用用户界面的一种工具包。它是Java Foundation Classes (JFC) 的一部分,提供了一套丰富的组件和接口,使得开发者可以通过图形化的方式来设计和构建应用程序的界面。...
在Java编程环境中,SWING和JAVAFX是两种常用的图形用户界面(GUI)工具包,用于构建桌面应用程序。本项目结合了两者,创建了一个功能完备的MP3播放器。这种设计方式充分利用了SWING的稳定性和JAVAFX的现代视觉效果,...
他们可以通过阅读源代码了解如何将Java Swing应用到实际项目中,以及如何实现游戏逻辑。 总之,"打字小游戏 java swing"结合了Java编程语言和Swing库,提供了一个寓教于乐的平台,让用户在娱乐中提升打字技巧。通过...
嗨,在本视频中,您将学习如何将JxBrowser UI控件添加到Java Swing应用程序中。我将从头创建一个简单的swing应用程序,但您也可以将JxBrowser添加到您的Java Swing应用程序中。使用本教程中的说明,让我们创建一个...
这个项目的源码是一个很好的学习资源,可以帮助开发者了解如何在Java Swing应用中集成Web浏览功能。通过研究和理解源码,你可以学习到如何处理网络请求,如何渲染HTML内容,以及如何在Java应用中嵌入复杂的交互式...
标题 "java swing 内嵌浏览器" 提到的,就是关于如何在Java Swing应用中集成一个内建的Web浏览器功能。这种技术通常依赖于第三方库,例如DJ Native Swing。DJ Native Swing是一个开源项目,它提供了将Java Swing与 ...
在实际开发中,Swing经常与其他Java库结合使用,如JavaFX,以增强图形表现和交互性。Swing也支持模态对话框和非模态对话框,方便创建提示用户输入或确认操作的窗口。 总的来说,Java Swing程序设计涵盖了组件使用、...
在Java Swing中,我们可以使用JPanel自定义绘制游戏场景,通过KeyListener监听键盘事件来控制角色移动。同时,可以利用Timer类来实现游戏的定时更新,比如怪物的移动和碰撞检测。 2. **端口扫描器**: 端口扫描是...
在Java Swing中开发游戏,可以利用其灵活性和可定制性来创建复杂的交互式应用程序,如“星际争霸”这样的策略游戏。 在Java Swing中构建游戏“星际争霸”,首先需要理解Swing的基本组件和布局管理器。Swing提供了...
在“Java课程设计-基于Java Swing的学生信息管理系统(教务系统)”项目中,学生将学习如何利用Java Swing库来创建一个功能丰富的教务管理系统。这个系统可能包含以下关键组件和知识点: 1. **窗口组件**:Java ...
扫描版" 这本书将指导读者如何利用Java Swing创建功能丰富的桌面应用程序,包括组件使用、事件处理、布局管理、数据模型、多线程技术等方面的知识,通过案例分析和实践练习,帮助读者成为一名熟练的Swing开发者。...
在Java Swing中实现摄像头或高拍仪的抓图功能,可以极大地增强应用的交互性和实用性。本教程将深入探讨如何利用Xuggler库来实现在Java Swing界面上进行摄像头预览和抓图。 首先,Xuggler是一个开源的Java库,主要...