用于桌面应用程序的JavaFX-8 GUI:是否有Look&在Swing中感觉如何?

时间:2015-03-11 15:54:25

标签: java swing javafx-8

在Swing,有一些Look&作为Java的一部分提供的感觉,例如:

跨平台:

  • 雨云
  • 基序
  • 金属

特定于平台:

  • GTK +
  • Windows XP

Java 8是否提供Look& JavaFX的感觉就像它为Swing做的那样? (我不会问一个特定的外观和感觉,我一般会问除了默认的外观和感觉之外)

1 个答案:

答案 0 :(得分:8)

我将回答我自己的问题,总结一下这个问题的答案以及我自己做的一些研究:

  • 在JavaFX中,没有Look&感觉一下,但有样式表
  • 在JavaFX-8(即Java 8版本)之前,只有一个提供的样式表,名为 Caspian
  • 从JavaFX-8开始,添加了另一个样式表,名为 Modena Modena 样式表是JavaFX-8中的默认样式表

可以使用以下命令在 Modena Caspian 样式表之间切换:

setUserAgentStylesheet(STYLESHEET_CASPIAN); // Switches to "Caspian"
setUserAgentStylesheet(STYLESHEET_MODENA);  // Switches to "Modena"

请注意:

  • setUserAgentStylesheet(String url)是类Application
  • 的方法
  • 常量STYLESHEET_CASPIANSTYLESHEET_MODENAApplication
  • 的班级成员
  • 应该在JavaFX Application线程
  • 上调用上面显示的代码
  • STYLESHEET_CASPIANSTYLESHEET_MODENA包含网址。您可以使用自己的样式表使用该方法,将url传递给样式表

    • 例如,如果我创建了一个名为 DarkTheme.css 的样式表并将其放在项目目录中,在 src / resources 下,我将使用以下内容应用它的代码: setUserAgentStylesheet(this.getClass().getResource("resources/DarkTheme.css").toExternalForm());

    • 如果您只想扩展当前样式表,而不是从头开始全部定义,您可以改用: scene.getStylesheets().add(this.getClass().getResource("resources/DarkTheme.css").toExternalForm());