Happy3w

NC如何创建自己的操作按钮_菜单按钮_对话框按钮

2016.12.14
开发环境:uap studio65(或者eclipse+uap插件) uap:6.X(本例为6.5) NC开发增删改等操作按钮都有现成的,显示界面只要用xml配置一下就行,然而很多时候developer要加入自己的业务处理按钮,无论是菜单栏还是弹出的对话框。怎么弄?由于NC平台已做了很多集成工作,早已不是原生态java人员能看到的swing开发界面,刚入手NC的童鞋可能会有点晕。 操作步骤: 1)继承NCAction(同步)/异步NCAsynAction 2)构造函数定义按钮name/code. 3)定义model支持get/set方法 4)把this加入Model监听 Code例子: 1、异步操作按钮 这个比较复杂,请参见:如何实现异步操作按钮 2、同步操作 本例已新增一个菜单栏“重新执行”按钮为例。 源代码下载: 链接:NC开发Deamo下载 本例主要代码: 1、TaskReRunAction.java 全路径:/Happy3W_NC/biz/src/client/happy3w/ui/biz/action/asyn/syn/TaskReRunAction.java 代码要点讲解: 1)继承NCAction 2)加入AbstractAppModel监听(陷阱,一定要记得加) public void setModel(AbstractAppModel model) { this.model = model; model.addAppEventListener(this); } 3)在doAction实现业务逻辑及后台服务调用 @Override public void doAction(ActionEvent e){ if (null != this.model.getSelectedData()) { //TODO 实现你的业务逻辑。 } } 4)在isActionEnable实现对按钮使能控制 @Override protected boolean isActionEnable(){ if (this.getModel().getUiState() == UIState.NOT_EDIT) { if (this.getModel().getSelectedData() != null) { //TODO 实现你的按钮使能控制逻辑。 return true; } } return false; } 按钮设置到配置文件 路径:/Happy3W_NC/biz/src/client/happy3w/ui/biz/action/view/form_config.xml 配置如下: <!-- 执行 --> <bean id="runAction" class="happy3w.ui.biz.action.RunAction" init-method="initAction"> <property name="listView" ref="listView"/> <property name="model" ref="manageAppModel"/> <property name="service" ref="runProxy"/> </bean>