`
AaronHu80
  • 浏览: 7581 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何在SWT中嵌入JavaFX

阅读更多

原来的程序是用SWT构建的,客户最近留意到了JavaFX,就让我研究研究能不能把SWT和JavaFX结合起来。

 

经过几天的研究,结论是可以,但是代价很大。刚刚写了封邮件给客户。

 

1.    What is JavaFX?
    It is a rich client platform for building cross-device applications and content. JavaFX is Sun's competition to the two main RIA implementations available - Microsoft's SilverLight and Adobe's Flex/AIR.
2.    Language and development
    JavaFX script is the language for code program of JavaFX. They called it “script”, but it is different from
the other Interpreted Languages like JS. It must be compiled first by JavaFX runtime to jar file, then you can invoke it in local computer or
through Java web start.
Before you develop the javaFX, you have to install JavaFX SDK. And also your computer needs to install JavaFX Desktop Runtime, then it is able to launch JavaFX program.
Now official ide is NetBeans. There is a plugin of Eclipse, but it is really simple and hard to use.
3.    Is it able to embedded to SWT?
     This is a biggest trouble we are going to facing if we want to use it in Qrodo.
There is no official way to get JavaFX embedded into Swing (or SWT) application.
This article (http://blogs.sun.com/javafx/entry/how_to_use_javafx_in) has a detailed introduction about this problem.
We can embedded it into Swing and embedded the Swing composite to SWT by SWT_AWT bridge. This would be very complicated and weird. 
4.    What can we do using JavaFX? What Can JavaFX Do That Swing and SWT Can't?
   The term Rich Internet Application can be defined as an web application that takes on the characteristics of a desktop application.
“The key use case for me, is for those who are starting an application from scratch. If it needs to interact with other Java components and libraries,
 JavaFX is a good choice for your UI layer. If you want to write an application to work on the desktop and on mobile devices, with minimal deployment headaches,
this is the technology you need. The single-sourcing aspect of JavaFX is the main advantage.”( http://java.dzone.com/articles/what-does-javafx-mean-you)

I think if we want to develop a mobile Qrodo on cellphone, maybe JavaFX is a choice. But as my understanding, I don’t suggest we combine it with SWT.
There is no proper plugin of Eclipse for developing JavaFX. We need to include many libs of JavaFX, the size of Qrodo will grow bigger. The user have to install JavaFX runtime before run Qrodo.
There are potential risks of embedded JavaFX to SWT that not supported by JavaFX official.
The effect that JavaFX can does, is also able to implemented by SWT.

现在Javafx官方还不支持javafx嵌入SWT的composite中,有人做了尝试把javafx嵌入到SWING中,所以通过SWT_AWT可以把SWING嵌入到SWT中,等于把javafx嵌入到SWT中了。但是没有官方的这方面的应用,风险是很大的,所以不推荐客户这样做。

 

分享到:
评论

相关推荐

    在SWING、SWT中嵌入浏览器

    这篇博客文章“在SWING、SWT中嵌入浏览器”就探讨了如何在Java应用中实现这一功能。 首先,SWING是Java Foundation Classes (JFC)的一部分,提供了丰富的组件和布局管理器来构建复杂的用户界面。尽管SWING本身并不...

    java swt javaFx 整合 自带浏览器 实现 调用网页echart

    JavaFX的`WebView`组件可以用来展示网页内容,它基于WebKit引擎,提供了一种在Java应用中嵌入网页的解决方案。 整合SWT和JavaFX的主要目标是利用SWT的`Browser`类的本地化优势和JavaFX`WebView`的现代Web功能。在...

    SWT内嵌火狐浏览器源码

    2. **SWT_Browser**: SWT_Browser是SWT库中的一个核心组件,它允许开发者在SWT应用程序中嵌入一个浏览器控件。这个控件可以模拟各种浏览器的行为,例如Mozilla Firefox或Internet Explorer。通过使用这个组件,...

    javafx-11.0.2 jar.rar

    7. **JavaFX SWT**: 类似于JavaFX Swing,`javafx.swt.jar`是为了与Eclipse的SWT库(标准窗口工具包)进行互操作,使得JavaFX可以在SWT环境中运行。 8. **JavaFX Web**: `javafx.web.jar`提供了浏览器内核功能,...

    javafx 11 jar包,亲测可用

    - `javafx-swt.jar`:如果需要在JavaFX中使用一些SWT特定的功能,此库提供了集成接口。 5. **纯Java开发**: - JavaFX 11完全基于Java语言,这意味着它可以在任何支持Java的平台上运行,无需针对特定操作系统进行...

    JavaFX 2.2 API英文参考文档CHM版2012

    Event Handling是JavaFX中的另一个重要概念,它允许程序响应用户的输入操作。通过事件监听器和事件处理方法,开发者可以轻松地处理点击、拖动等各种用户交互行为。例如,Button类有一个onAction属性,可以设置一个...

    DJNativeSwing-SWT组件-Java GUI中内嵌浏览器相关JAR包

    DJNativeSwing是一个Java库,它允许开发者在Java GUI(图形用户界面)应用程序中嵌入原生操作系统控件,如Windows、Mac OS X或Linux上的本机浏览器组件。这个库的目标是提供一种方式,使得Java应用程序能够利用操作...

    swt动态图表相关jar包

    在SWT环境下,JFreeChart提供了与SWT组件集成的接口,使得在SWT应用中嵌入动态图表变得简单。 在提供的压缩包文件中,我们看到了以下组件: 1. **jcommon-1.0.23.jar**:这是JFreeChart的一个依赖库,提供了基础的...

    包含javafx17 所有jar包

    - `javafx-swt.jar`:与Java SWT(Standard Widget Toolkit)集成,使得JavaFX可以在Eclipse或RCP(Rich Client Platform)应用中使用。 - `javafx.properties`:可能包含JavaFX的配置信息,如版本号、版权等。 ...

    swing 嵌入word

    综上所述,通过结合Swing和SWT,我们可以实现Swing应用中嵌入Word文档的功能,这在需要在Java GUI中展示、编辑或交互Word文档的场景下非常有用。在实际开发中,务必根据具体需求和环境调整上述代码,并处理好可能...

    SWT(DJNativeSwing)

    DJ NativeSwing是SWT的一个扩展,它允许开发者在Java应用程序中无缝地嵌入Swing组件,包括一个内嵌浏览器功能。 在Java编程中,SWT和Swing分别是两种主要的GUI库。SWT提供了与操作系统更直接的交互,而Swing则依赖...

    JAVA HTML截图.rar

    除了SWT,还有DJNativeSwing库,这是一套用于在Java中集成Swing和JavaFX组件的库。DJNativeSwing-SWT.jar和DJNativeSwing.jar这两个文件可能包含用于在Java Swing应用程序中嵌入SWT组件的功能,使得我们可以利用SWT...

    java swing 内嵌浏览器

    在某些情况下,开发者可能需要在Swing应用中嵌入一个浏览器组件,以便显示网页内容或与Web服务进行交互。这通常是为了提供更丰富的用户体验,或者在本地环境中运行需要网络功能的应用。 标题 "java swing 内嵌...

    jj.rar_JJ

    3. **Java Applet**: 虽然现在已经不再推荐使用,但在过去,Java Applet是一种将浏览器嵌入到Web页面中的方式。不过由于安全性和性能问题,Java Applet已经被大多数浏览器禁用。 4. ** SWT Browser Widget**: 对于...

    java调用chrome浏览器内核cef实现,非jxbrowser

    首先,CEF是由Google Chrome团队维护的开源项目,它提供了C++的API,用于在各种应用程序中嵌入Web内容。要将其与Java结合,我们需要一个Java绑定层,这通常通过JNI(Java Native Interface)来实现。JNI允许Java代码...

    RSS.rar_RSS_Rss browser_java rss_rss java_rss阅读器

    这些库提供了组件,可以构建GUI并嵌入Web视图,使得用户能够在应用程序内部打开RSS条目的链接。例如,使用JEditorPane或WebView组件,可以加载并显示HTML内容。 为了确保项目的正常运行,开发者需要注意文件路径的...

    Java网页浏览器组件介绍(全的4种).pdf

    - **JavaFX WebView** 是JavaFX的一部分,它使用WebKit渲染引擎,允许在Java应用程序中嵌入Web内容,支持HTML5、CSS3和JavaScript。 - **EmbeddedBrowser** 是第三方库,如 SWT 的 `Browser` 组件,它使用系统默认的...

    Snake Eclipse

    6. **集成与调试**: 在Eclipse中运行游戏,需要配置项目的运行配置,确保游戏能够正确启动并嵌入到IDE中。同时,Eclipse强大的调试工具可以帮助开发者查找和修复游戏中的错误。 7. **源代码管理**: 为了便于团队...

    数据大屏可视化模板(电子商务公共服务平台大数据中心)

    3. **数据可视化库**:模板可能采用了Java的图形库,如`JavaFX`或`SWT`来创建图表和图形。另外,`ECharts`或`G2`等JavaScript库可能通过`JSF`或`Servlet`技术嵌入到Java应用中,实现更丰富的可视化效果。 4. **接口...

    e4x:Eclipse e4 浏览器

    它可能使用了JavaFX或者 SWT (Standard Widget Toolkit) 这样的库来实现图形用户界面,同时利用Netscape Plugin API (NPAPI) 或者 Pepper Plugin API (PPAPI) 来嵌入Web内容。这使得E4浏览器可以支持JavaScript、...

Global site tag (gtag.js) - Google Analytics