细心的工程师应该已经我们的这个系统目前暴露一个缺陷,工程的可视部分,至少目前的主界面是通过工具画出来的。这给我们带来了方便的同时,必然有它的其它缺陷,那就是返回的界面节点控制的灵活性大打折扣。例如我们在界面的控制器中加进去的自己很多认为可能需要用到的属性或对象本来想去控制器的构造方法中去完成初始化确没那么方便,有人说那在控制器的
initialize(URL url, ResourceBundle rb)方法中去完成这些工作,其实你发现它参数固定,而且我也没去研究那两个参数。通过我的作法是不拘泥于某种固定的方式,用自己熟悉且简便的方法去完成即可。
因此,我将用工具做的事情和自己做的事情进行了一定的解耦。定义了一个新的数据类型,其实是个类,代码如下:
package com.jingwei.tools;
import javafx.fxml.Initializable;
import javafx.scene.layout.AnchorPane;
/**
* 同时包含面板和控制器的数据结构
* @version =2.0
*/
public class AnchPanDiction
{
/**
* 获取面板节点
* @return 面板
*/
public AnchorPane getAnchPane() {
return anchPane;
}
/**
* 设置面板
* @param anchPane UI面板节点
*/
public void setAnchPane(AnchorPane anchPane) {
this.anchPane = anchPane;
}
/**
* 获取控制器
* @return 控制器
*/
public