自从我完成任何Java工作已经有几年了,我最后的努力是使用Swing。我正在寻找一个可以与Rails Web服务交互的跨平台客户端应用程序。 JavaFX是我正在考虑的选项之一,但我关注的是开箱即用的美学。 JavaFX是否具有JavaFX控件(而不是Swing)的本机外观选项?
我的印象是,如果我想在Java中构建一系列业务应用程序,我应该坚持使用Swing这是一种耻辱,因为我喜欢JavaFX的一些功能,如绑定,简洁的语法,以及轻松支持REST客户端编程。
答案 0 :(得分:20)
我没有看到。充其量,你可以使用我们用1.3获得的CSS样式的广泛支持来模仿原生的外观和感觉,但这是一个很大的工作!甚至不确定如何处理我们在现代系统上得到的各种主题......
我认为RIA的目的是带来他们自己的外观或足够灵活,允许你做自己的闪亮外观,而不是在你的平台上看起来像一个随机的平淡应用......: - )
(现在,如果我喜欢可换肤的应用程序,我也很欣赏使用本机控件的GUI框架或者像Qt(例如对比GTK +)这样的GUI框架,正是为了提供良好的旧“乏味”应用程序而不破坏用户体验。)
答案 1 :(得分:15)
JavaFX 2.0默认只有一个名为“Caspian”的Look。使用Java 8,将引入第二个,称为“Modena”。两者都是跨平台的Look& Feels。目前,一些开发人员为JavaFX创建本机样式作为OpenSource项目。你可以在这里找到一个概述:
如果您对JavaFX的Mac OS L& F(AquaFX)感兴趣,这里有一些预览帖子:
答案 2 :(得分:8)
Oracle在默认的JavaFX 2.x发行版中不支持本机外观。
其中一位JavaFX开发人员发现proof of concept on button styles表明JavaFX足够灵活,可以生成看起来像本机小部件的小部件。
对于OS X,您可以尝试使用JavaFX的第三方AquaFX样式,这使JavaFX应用程序看起来像本机OS X应用程序。 AquaFX看起来非常完整和全面。
还有其他第三方项目可以为其他平台部分创建原生外观,但其覆盖范围目前还远远不够全面。
一些第三方项目(所有这些项目目前似乎都是实验性的和不完整的)是:
答案 3 :(得分:1)
你绝对可以在你的应用程序中嵌入一些css,使javafx组件看起来更像标准的swing外观。使用场景构建器,它实际上很容易正确设置所有标签。
检查一下 http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm
答案 4 :(得分:-3)
有趣的是在javaFx中,您可以为本机应用程序提供丰富的外观和感觉。您可以将css应用于javaFx组件。不仅如此,您还可以在JAVAFX应用程序中嵌入HTML Css和页面。在独立应用程序的UI构建方面,我能感受到巨大的变革。