EditUI函数调用顺序:
EdittUI 1 UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null,OprtState.VIEW); 1.1传递UIContext() 1.2设置 setOprtState(). 2.EditUI() a.Super。构造函数 b.jbInit()调用registerBindings(); c. initLayout调用this.initUIContentLayout(); this.initUIToolBarLayout(); this.initUIMenuBarLayout(); d. onLoad() super.onLoad() initWorkButton() 初始化界面按钮状态 getTableForCommon() 返回当前表格是否可显示右键 loadData(); 加载数据 If (STATUS_ADDNEW) //新增 { If (getUIContext().get(UIContext.INIT_DATAOBJECT) != null) setDataObject(editData); Else editData = (CoreBaseInfo) createNewData() setDataObject(editData); } else//其他状态 查看 编辑 { inOnload(); | |->IObjectPK pk = new ObjectUuidPK(BOSUuid.read(getUIContext().get("ID").toString())); setDataObject(getValue(pk)); } loadFields(); 根据绑定将数据初始化至控件 initSubmitOption()初始化连续新增和连续打印按钮状态 doFieldPermission() 处理字段权限 setTableToSumField(); 设置合计字段 appendFootRow(null) 添加合计行 e. Onshow() super.onShow(); setDefaultButton() 设置缺省按钮 initUserConfig() 设置用户表格设置(在没有设置通用查询方案的情况下应用) initKeyStroke() 初始化键盘 A Save storeFields(e);设置数据到editData verifyInput(e); 检验当前数据的合法性 ranSave(editData);保存数据 showSaveSuccess(); 显示提示消息。 B Submit storeFields(e);设置数据到editData verifyInput(e); 检验当前数据的合法性 runSubmit(); 提交数据到数据库 showSubmitSuccess();提交成功提示 afterSubmitPerform(pk);提交后动作处理,新增后是连续新增还是打印, f. destroyWindow() super.destroyWindow() checkBeforeWindowClosing();在关闭前检查数据 释放资源 C释放当前窗体freeSwingObject(uiObject);
ListUI函数调用顺序:
1.UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null, OprtState.VIEW); A.传递UIContext() B设置 setOprtState(). 2..ListUI() a.Super。构造函数 b.jbInit()调用registerBindings(); c.. initLayout调用this.initUIContentLayout();,this.initUIToolBarLayout();, this.initUIMenuBarLayout(); d. onLoad() CoreUI: super.onLoad() initWorkButton() 初始化界面按钮状态 getTableForCommon() 返回当前表格是否可显示右键 initKeyStroke()初始化表格键盘操作,删除,回车 initListener() 初始化表格监听器 actionQuery_actionPerformed(ActionEvent e) 通用查询 wfInit(); 初始化工作流 doFieldPermission(); 应用字段权限 e.Onshow() setDefaultButton() 设置缺省按钮 initUserConfig() 设置用户表格设置(在没有设置通用查询方案的情况下应用) freezeColumn(); 设置冻结列 selectFirstRow()设置选择行,并触发tblMain_doRequestRowSet(RequestRowSetEvent e) 获取数据事件,填充表格数据 f. destroyWindow() super.destroyWindow() checkBeforeWindowClosing();在关闭前检查数据 释放资源 C释放当前窗体
UI常用操作:
1、添加字段需要绑定及sic.add(""); 2、getBizInterface()获得远程实体对象即factory.getremoteInstance(); 3、createNewObject();新增时调用 用于初始化字段值; 4、过滤KDBizPromptBox显示的信息 EntityViewInfo 实体显示信息 FilterInfo 字段过滤 相当于where KDBizPromptBox F7类型输入框 EntityViewInfo view = new EntityViewInfo(); FilterInfo filter = new FilterInfo(); filter.getFilterItems().add(new FilterItemInfo("billStatus",new Integer(PrjMBillStatusEnum.AUDITED_VALUE))); view.setFilter(filter); prmtConstruction.setEntityViewInfo(view); prmtConstrTeamRegister.setEntityViewInfo(view); 5、onLoad();在这里加入修改的控件状态;setVisible setEnabled setEntityViewInfo; 6、prmtConstruction_dataChanged 对应控件的事件处理函数;处理带出数据段等; 7、verifyInput() 输入保存时调用,用于验证字段 8、getUIContext() UI中传递值
写的不是很详细,希望能帮到大家!