JavaFX是否具有像Swing一样的“本地外观和感觉”选项?

自从我做了Java工作已经有两年了,我最后的工作是使用Swing。 我正在使用一个跨平台的客户端应用程序,它将与Rails Web服务交互。 JavaFX是我正在考虑的选项之一,但我关心的是现成的审美。 JavaFX是否具有JavaFX控件(不是Swing)的本机外观和感觉选项?

我得到的印象是,如果我想在Java中构build一个业务应用程序,我应该坚持使用Swing,因为我喜欢JavaFX的一些特性,比如绑定,简洁的语法和简单的支持REST客户端编程。

我没有看到。 充其量,您可以使用我们1.3版本的CSS样式的广泛支持来模仿本机的外观和感觉,但这是一个很大的工作! 甚至不知道如何处理我们在现代系统上获得的各种主题…
我认为RIA的重点是让自己的外观或灵活性足以让自己的外表看起来不像在你的平台上的随机平淡的应用程序… 🙂

(现在,如果我喜欢skinnable的应用程序,我也非常欣赏使用本机控件的GUI框架,或者像Qt(比如GTK +),就是为了提供良好的“平淡”的应用程序而不会破坏用户体验。

JavaFX 2.0只有一个默认的Look,叫做“Caspian”。 随着Java 8的第二个将被介绍,被称为“摩德纳”。 两者都是跨平台的外观和感觉。 目前有些开发人员将JavaFX的原生样式创build为OpenSource项目。 你可以在这里find一个概述:

如果您对JavaFX的Mac OS L&F(AquaFX)感兴趣,以下是一些预览文章:

Oracle在默认的JavaFX 2.x版本中不支持本地外观。

JavaFX开发人员对button样式的概念validation表明,JavaFX足够灵活,可以生成看起来像本地小部件的小部件。

对于OS X,您可以尝试JavaFX的第三方AquaFX风格,这使得JavaFX应用程序看起来像本机OS X应用程序。 AquaFX对我来说显得相当完整和全面。

还有其他的第三方项目部分为其他平台创造了本地化的外观,但是它们的覆盖范围目前还远远不够全面。

一些第三方项目(所有这些项目似乎都是实验性的和不完整的)是:

  • JMetro在jfx-styles中
  • javafx-native-themes (JavaFX的外观和感觉:默认摆动, iOS ,Windows 7 …)

你肯定可以在你的应用程序中embedded一些CSS,使javafx组件看起来更像是标准的swing效果。 使用场景构build器,实际上很容易让所有的标签正确设置。

看看这个http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm

有趣的是,在javaFx中,你可以给本地应用程序提供丰富的外观和感觉。你可以将css应用于javaFx组件。 不仅如此,您可以在JAVAFX应用程序中embeddedHTML Css和页面。在独立应用程序的UI构build方面,我可以感受到伟大的革命。