当前位置: 代码迷 >> J2SE >> javafx 的lookandfeel如何弄成windows系统的
  详细解决方案

javafx 的lookandfeel如何弄成windows系统的

热度:586   发布时间:2016-04-23 21:13:44.0
javafx 的lookandfeel怎么弄成windows系统的?
swing可以
    try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Windows".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLo

javafx

怎么弄成windows系统的?难道让我在css文件里面一点一点的弄?按钮的焦点状态的颜色变化可不好弄吧?

------解决方案--------------------
呵呵,楼主,这就是你学JavaFX的目的?其实Swing中那些所谓的L&F也是人画出来的。所以目前JavaFX由于是新东西,它出版时只配备了caspian.css风格。该风格就像Swing的Metal风格,跨频台的,界面一致性。你可以改的,我就自己写过很多css基本创建出了自己想要的界面效果。如果你要现成的,那就下载别人网上写好的吧,我记得Gihub上有一个Mac风格的,不过很多bugs的,呵呵。毕竟不是官方的,即使是官方的,也有不少bug,例如:
1. ToolBar 最好不要出现overflow button, 因为对combobox等无效。可用HBox或者VBox代替。
2. WebView中背景只能是不透明的。若要着色代码文本,可用网页上的模块。Email邮件编辑也可用网页上的模块。
3. JavaFX objects that cannot be created on javafx launcher thread are: Scene, Stage, Tooltip, ContextMenu, WebView, HTMLEditor. 所以像Preloader那样基本不需要用到Tooltip, ContextMenu, WebView, HTMLEditor的可以在init方法中创建root,在Application中还是老老实实的在start方法中创建整个scene graph。 另外,在Application中需要耗时的操作并且必须在stage.show()之前完成的,就可以放到init中,否则用javafx提供的Worker在一个background thread中进行。
  相关解决方案