JavaFX是否具有像Swing这样的"原生外观"选项?

gbc*_*gbc 43 javafx

自从我完成任何Java工作已经有几年了,我最后的努力是使用Swing.我正在寻找一个可以与Rails Web服务交互的跨平台客户端应用程序.JavaFX是我正在考虑的选项之一,但我关注的是开箱即​​用的美学.JavaFX是否具有JavaFX控件(不是Swing)的本机外观选项?

我得到的印象是,如果我想在Java中构建一系列业务应用程序,我应该坚持使用Swing这是一种耻辱,因为我喜欢JavaFX的一些功能,如绑定,简洁的语法和简单的支持REST客户端编程.

Phi*_*Lho 21

我没有看到.充其量,你可以使用我们用1.3获得的CSS样式的广泛支持来模仿原生的外观和感觉,但这是一个很大的工作!甚至不确定如何处理我们在现代系统上得到的各种主题...
我想RIA的观点是带来他们自己的外观或足够灵活,允许做自己的光泽外观,而不是看起来像一个随机的平淡无奇应用程序在您的平台上... :-)

(现在,如果我喜欢可换肤的应用程序,我也很欣赏使用本机控件的GUI框架,或者像Qt(例如对GTK +)这样的GUI框架,正是为了提供良好的旧"乏味"应用程序而不破坏用户体验.)

  • 基本上所有自定义绘制应用程序的应用程序除了设计不良外,还看起来像垃圾.使用本机控件至少可以解决以前的问题. (8认同)
  • @PhiLho我个人还没有看到一个非本机的外观和感觉在操作系统的上下文中看起来更好. (7认同)
  • @Charlie"所有应用程序"有点过于笼统.Swing应用程序通常看起来很好(通常比纯AWT应用程序更好!)并且有一些非常好的Look&Feel库.剥皮用户界面很难做到,如果广泛的话,很多工作,但它可能很好. (4认同)
  • 谢谢,这就是我所担心的;-)我是"乏味"桌面应用程序的傻瓜,或者至少是Mac上使用本机外观小部件的应用程序. (3认同)

Hen*_*ers 16

默认情况下,JavaFX 2.0只有一个Look,称为"Caspian".使用Java 8,将引入第二个,称为"Modena".两者都是跨平台的外观和感觉.目前,一些开发人员为JavaFX创建本机样式作为OpenSource项目.你可以在这里找到一个概述:

如果您对Java OSX的Mac OS L&F(AquaFX)感兴趣,这里有一些预览帖子:


jew*_*sea 8

Oracle在默认JavaFX 2.x发行版中不支持本机外观.

其中一位JavaFX开发人员对按钮样式进行了概念验证,证明JavaFX足够灵活,可以生成看起来像本机窗口小部件的窗口小部件.

对于OS X,您可以尝试使用JavaFX的第三方AquaFX样式,这使得JavaFX应用程序看起来像本机OS X应用程序.AquaFX看起来非常完整和全面.

还有其他第三方项目可以部分地为其他平台创建原生外观,但是它们的覆盖范围目前还远远不够全面.

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