NC65自定义扩展按钮UAP65

文章详细描述了如何在UI界面上新增一个定制按钮,通过继承NCAction并配置XML文件来管理其行为。内容包括创建按钮类、设置模型和编辑器,以及配置SpringBean以实现功能调用和事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.确定要新增按钮的界面,如:

  

打开功能注册:

2.添加配置扩展文件

3写一个按钮类,继承 nc.ui.uif2.NCAction

package nc.ui.yrdmd.yrdsellorder.plugin.action;

import java.awt.event.ActionEvent;

import nc.ui.pub.beans.MessageDialog;
import nc.ui.pubapp.uif2app.view.BillForm;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.UIState;
import nc.ui.uif2.model.BillManageModel;


@SuppressWarnings("serial")
public class AddTestAction extends NCAction {
	
	//根据节点xml中其他按钮bean选择model、editor的类型
	private BillForm editor; 
	private BillManageModel model;
	
	
	public AddTestAction() {
		super.setBtnName("测试自制按钮");
	}
 
	@Override
	public void doAction(ActionEvent e) throws Exception {
 
		int i = MessageDialog.showOkCancelDlg(editor, "确认", "是否保存?");
		MessageDialog.showHintDlg(editor, "提示", i + "");
	}	
 
	public BillForm getEditor() {
		return this.editor;
	}
 
	public BillManageModel getModel() {
		return this.model;
	}
 
	public void setEditor(BillForm editor) {
		this.editor = editor;
	}
 
	public void setModel(BillManageModel model) {
		this.model = model;
		model.addAppEventListener(this);
	}
 
	@Override
	protected boolean isActionEnable() {
		return this.model.getUiState() == UIState.NOT_EDIT;
	}

}

4.XML配置文件,路径要和你配置的一样,不然系统找不到

<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<beans>
	
	<!-- 间隔按钮 -->                       
	<!--<bean id="separatorAction" class="nc.funcnode.ui.action.SeparatorAction" />-->
	
	<!-- 在打印按钮组后插入间隔按钮 -->
	<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
		<property name="actionContainer" ref="container" />
		<property name="actionType" value="notedit" />
		<property name="target" ref="pFApproveStatusInfoAction" />
		<property name="pos" value="after" />
		<property name="action" ref="separatorAction" />
	</bean>
 
	<!-- 配置列表界面显示的按钮 actionsOfList-->
	<!-- 在间隔按钮后插入自己的按钮 -->
	<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
		<property name="actionContainer" ref="container" />
		<property name="actionType" value="notedit" />
		<property name="target" ref="separatorAction" />
		<property name="pos" value="after" />
		<property name="action" ref="tidaiping" />
	</bean>
	
	<!-- 自己的按钮 -->
   	<bean id="tidaiping"  class="nc.ui.yrdmd.yrdsellorder.plugin.action.AddTestAction">
   		<!-- model、editor属性名与按钮类对应 -->
   		<property name="model" ref="bmModel" />
		<property name="editor" ref="billForm" />
		<!-- 必须属性(不加销售订单维护节点点不开后台报code为null) -->
		<property name="code" value="begin"/>		
		
   	</bean>
 
</beans>

5.试一下右键这个xml文件,点击SpringxmlToJava能否生成java代码,一般是可以生成的,我用的是eclipse。如果生成成功,说明写的xml配置文件没问题,没生成成功就检查一下配置,实在检查不出问题就不用生成java文件了。

总结:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值