JavaFx客户端开发经验

最近使用JavaFX开发了一个PC客户端,代码行在15K左右,重构了三次,才最终产品上线使用,在这个过程中走了很多的弯路,在此总结一下。

(1)JavaFX开发优点

  • JavaFX是类似Android的开发模式,界面布局使用FXML,使用scene builder可以直接拖拽控件进行布局,可视化的布局。
  • 界面支持CSS调样式。
  • 支持ResourceBoundle,进行国际化设置。
  • 控件多,灵活,支持图表展示和WebView

(2)项目架构

       项目采用MVC架构+事件驱动层,因为界面的更新实现都在Controller中,如果需要在后台线程中更新界面操作,总不能把Controller对象传递给线程吧,这样就出现了类之间的相互调用,代码比较乱,这时候就需要再加一层,事件驱动层,设计模式中的监听器模式,在Controller中注册Model的监听接口,在线程中更新了Model对象,Model对象回调在Controller中注册的接口。
M:Model,也就是一个个数据对象。
V:View,界面展示,使用FXML进行页面布局。
C:Controller,控制层,界面的更新操作以及按钮的响应事件都在Controller更新。
事件驱动层:Model对象的监听器


(3)注意事项

  • 对界面的更新操作需要放到Platform.runLater线程中。
        Platform.runLater(new Runnable()
        {
            @Override
            public void run()
            {
                //update ui
            }
        });






 


你可能感兴趣的:(04.JavaFX)