EAS:通过代码手动添加界面按纽原创
53人赞赏了该文章
167次浏览
未经作者许可,禁止转载编辑于2024年12月02日 09:28:45
摘要由AI智能服务提供
本文在CreditLimitEditUICTEx类中实现了一个名为btnViewBgItem的界面按钮,通过jbInit方法初始化按钮动作类ActionViewBgItem并注册到动作管理器,为按钮设置动作代理实现交互。按钮具备图标、菜单位置和显示文本的初始化,点击按钮会根据操作状态执行不同的预算查看逻辑。
有用
反馈
首编于:2024年12月2日
关键字:EAS、代码编写、添加界面按纽
前言:
代码实现方式:
package com.kingdee.eas.fm.fin.client; import java.awt.Component; import java.awt.Container; import java.awt.event.ActionEvent; import java.util.Hashtable; import com.kingdee.bos.appframework.client.servicebinding.ActionProxyFactory; import com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox; import com.kingdee.bos.ctrl.kdf.table.KDTable; import com.kingdee.bos.ctrl.swing.KDWorkButton; import com.kingdee.bos.ui.face.IItemAction; import com.kingdee.bos.ui.face.IUIObject; import com.kingdee.bos.ui.face.IUIWindow; import com.kingdee.bos.ui.face.ItemAction; import com.kingdee.bos.ui.face.UIFactory; import com.kingdee.eas.common.client.OprtState; import com.kingdee.eas.common.client.UIContext; import com.kingdee.eas.fm.common.client.FMClientHelper; import com.kingdee.eas.util.client.EASResource; import com.kingdee.eas.util.client.MsgBox; public class CreditLimitEditUICTEx extends CreditLimitEditUI { /** * 显示预算余额 */ protected KDWorkButton btnViewBgItem = null; protected ActionViewBgItem actionViewBgItem = null; public CreditLimitEditUICTEx() throws Exception { super(); // TODO Auto-generated constructor stub jbInit(); } /** * 初始化控件 * @throws Exception */ protected void jbInit() throws Exception{ /** * 显示预算余额 */ this.actionViewBgItem = new ActionViewBgItem(this); getActionManager().registerAction("actionViewBgItem", actionViewBgItem); this.actionViewBgItem.addService(new com.kingdee.eas.framework.client.service.PermissionService()); this.btnViewBgItem = new KDWorkButton(); this.btnViewBgItem.setName("btnViewBgItem"); this.btnViewBgItem.setAction((IItemAction) ActionProxyFactory.getProxy(actionViewBgItem, new Class[] { IItemAction.class }, getServiceContext())); } /** * 初始化按钮图标 */ @Override protected void initWorkButton() { // TODO Auto-generated method stub super.initWorkButton(); //显示预算余额信息图标 this.btnViewBgItem.setIcon(EASResource.getIcon("imgTbtn_downbill")); } /** * 初始化按钮在菜单的位置 */ @Override public void initUIToolBarLayout() { // TODO Auto-generated method stub super.initUIToolBarLayout(); this.toolBar.add(btnViewBgItem, 9); } /** * 初始化控件显示信息 */ @Override public void onShow() throws Exception { // TODO Auto-generated method stub super.onShow(); this.btnViewBgItem.setText("预算查看"); } /** * 显示预算余额 * @author * */ protected class ActionViewBgItem extends ItemAction{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub getUIContext().put("ORG.PK", getOrgPK(this)); innerActionPerformed("eas", CreditLimitEditUICTEx.this, "ActionViewBgItem", "actionViewBgItem_actionPerformed", e); } public ActionViewBgItem(){ this(null); } public ActionViewBgItem(IUIObject uiObject) { // TODO Auto-generated constructor stub super(uiObject); String _temStr = ""; putValue("ShortDescription", _temStr); putValue("LongDescription", _temStr); putValue("Name", _temStr); } } /** * 预算查看 * @param e * @throws Exception */ public void actionViewBgItem_actionPerformed(ActionEvent e) throws Exception{ //新增状态下查看预算 if (OprtState.ADDNEW.equals(getOprtState())) { storeFields(); CreditLimitInfo clInfo = editData; FMClientHelper.viewBgBalance(this, "com.kingdee.eas.fm.fin.app.CreditLimit", null, clInfo); }else {//其他单据状态下实现查看预算 FMClientHelper.viewBgBaoListlance(this, editData.getId().toString()); } } }
总结:
附:BOS二开案例及常见问题的解决方合集:https://vip.kingdee.com/link/s/lnEvP
赞 53
53人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读