第一步,编写下拉的按钮对应的java代码
继承NCAction类
package 包名;
import java.awt.event.ActionEvent;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.UIState;
import nc.ui.uif2.editor.BillForm;
import nc.ui.uif2.model.AbstractAppModel;
public class EnableAction extends NCAction {
public EnableAction() {
super.setBtnName("测试自制按钮2");
}
// 以下实现数据权限需要
private String mdOperateCode = null; // 元数据操作编码
private String operateCode = null; // 资源对象操作编码,以上两者注入其一,都不注入,则不进行数据权限控制。
private String resourceCode = null; // 业务实体资源编码
private static final long serialVersionUID = -4417976703049420324L;
private BillForm editor;
private AbstractAppModel model;
@Override
public void doAction(ActionEvent e) throws Exception {
MessageDialog.showHintDlg(editor, "提示", "测试自己新按钮按下2");
}
public BillForm getEditor() {
return this.editor;
}
public AbstractAppModel getModel() {
return this.model;
}
public void setEditor(BillForm editor) {
this.editor = editor;
}
public void setModel(AbstractAppModel model) {
this.model = model;
model.addAppEventListener(this);
}
@Override
protected boolean isActionEnable() {
return this.model.getUiState() == UIState.NOT_EDIT;
}
public String getMdOperateCode() {
return mdOperateCode;
}
public void setMdOperateCode(String mdOperateCode) {
this.mdOperateCode = mdOperateCode;
}
public String getOperateCode() {
return operateCode;
}
public void setOperateCode(String operateCode) {
this.operateCode = operateCode;
}
public String getResourceCode() {
return resourceCode;
}
public void setResourceCode(String resourceCode) {
this.resourceCode = resourceCode;
}
}
package 包名;
import java.awt.event.ActionEvent;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.UIState;
import nc.ui.uif2.editor.BillForm;
import nc.ui.uif2.model.AbstractAppModel;
public class DisableAction extends NCAction {
public DisableAction() {
super.setBtnName("测试自制按钮");
}
//以下实现数据权限需要
private String mdOperateCode = null; //元数据操作编码
private String operateCode = null; //资源对象操作编码,以上两者注入其一,都不注入,则不进行数据权限控制。
private String resourceCode = null; //业务实体资源编码
private static final long serialVersionUID = -4417976703049420324L;
private BillForm editor;
private AbstractAppModel model;
@Override
public void doAction(ActionEvent e) throws Exception {
MessageDialog.showHintDlg(editor, "提示", "测试自己新按钮按下");
}
public BillForm getEditor() {
return this.editor;
}
public AbstractAppModel getModel() {
return this.model;
}
public void setEditor(BillForm editor) {
this.editor = editor;
}
public void setModel(AbstractAppModel model) {
this.model = model;
model.addAppEventListener(this);
}
@Override
protected boolean isActionEnable() {
return this.model.getUiState() == UIState.NOT_EDIT;
}
public String getMdOperateCode() {
return mdOperateCode;
}
public void setMdOperateCode(String mdOperateCode) {
this.mdOperateCode = mdOperateCode;
}
public String getOperateCode() {
return operateCode;
}
public void setOperateCode(String operateCode) {
this.operateCode = operateCode;
}
public String getResourceCode() {
return resourceCode;
}
public void setResourceCode(String resourceCode) {
this.resourceCode = resourceCode;
}
}
第二步,在对应的xml文件中添加按钮,一般在nc.ui.xxx.xxx.view包下
1,添加下拉按钮bean,看看你自己的xml中其它bean写在哪就写在哪,要看看你xml文件中其它bean如何写,如下面的model,editor可能不一样。
<bean id="sealMenuAction" class="nc.funcnode.ui.action.GroupAction">
<property name="code" value="DisEnableGroup" />1
<property name="name" value="启用">
</property>
<property name="actions">
<list>
<ref bean="sealAction" />
<ref bean="unsealAction" />
</list>
</property>
</bean>
<bean id="sealAction" class="你写的按钮的全类名,EnableAction">
<property name="code" value="seal"></property>
<property name="model" ref="appModel"></property>
<property name="editor" ref="billFormEditor" />
<property name="resourceCode" value="subdivisionclass"></property>
<property name="mdOperateCode" value="disable"></property>
</bean>
<bean id="unsealAction" class="你写的按钮的全类名,DisableAction">
<property name="code" value="unseal1"></property>
<property name="model" ref="appModel"></property>
<property name="editor" ref="billFormEditor" />
<property name="resourceCode" value="subdivisionclass"></property>
<property name="mdOperateCode" value="disable"></property>
</bean>
2,在界面布局总装引用,我这是<bean id="container" class="nc.ui.uif2.TangramContainer" 里面 <property name="actions"> 下的<list> 下添加
<ref bean="sealMenuAction"/>
我这是这样的引用但是你的不一定,所以要根据你的xml文件来。
启动就可以看到添加的按钮了