我有一个相当大的Java应用程序,它广泛使用Swing。应用程序使用的外观是Metal,我们有一个自定义主题,可以减轻一些颜色。我正在这个应用程序中构建一个新组件(这是一个将在几年内部署的大型项目),并希望将JavaFX用于所有GUI部分(有几个原因,包括更具未来性,更好的API和我想使用的新小部件)。但是,我不想破坏应用程序的常见外观。
除了编写很多我自己的CSS之外,还有什么方法可以使所有JavaFX组件看起来像Swing组件吗?
答案 0 :(得分:3)
要在JavaFX中获得Swing Metal外观,请开始编写大量自己的JavaFX CSS。我知道这不是你想要的答案,但它就是答案。
答案 1 :(得分:1)
您可以在Swing组件中放置所需的JavaFX组件。例如,您可以将JavaFX ImageView放在Swing面板中。这样,您可以在外部获得Swing外观(兼容性),但内部具有JavaFX功能。
我发现本教程很有用:
https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/swing-fx-interoperability.htm
但除此之外,我不认为JavaFX的外观和感觉与金属相同。