JavaFX的开发,也没遇到比较方便的框架,所以就自己搭建了一个,一切都以方便实用为主,力争实现“Write Less,Do More”的想法。
基本结构
fxml文件设计界面还是有利于代码结构清晰的,所以也是基于fxml文件的方式来设计的,当然,以后如果有需要,也可以添加完全用Java代码编写界面的功能。
定义了一个抽象类View,所有继承View类的子类都要指定一个fxml文件,将fxml文件与View类进行绑定。
public class ExampleView extends View {
@Override
public String fxml() {
// fxml文件路径,使用getClass().getResource()加载
return "Example.fxml";
}
}
View类即是本来JavaFX中的Controller,在这里主要用来处理界面上控件的初始化和各种控件事件,专注于UI,注意,一个窗体中可以包含多个View。
当创建了一个View实现类后,并且创建了对应的fxml文件之后,使用View类静态方法public static <T extends View> T createView(Class<T> viewClass)
创建View对象,即可获取fxml文件根节点,默认返回Parent对象。
ExampleView view = View.createView(ExampleView.class);
Parent root = view.getRoot();
primaryStage.setScene(new Scene(root));
primaryStage.show