第一范文网 - 专业文章范例文档资料分享平台

NC单据开发初学手册V1.0

来源:用户分享 时间:2025/5/15 23:40:54 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

m_CardPanel.getCard().addTabbedPaneTabChangeListener(editCtrl, 1); }

m_CardPanel.getCard().addEditListener(\页签afterEdit()加监听 m_CardPanel.getCard().addEditListener(\ m_CardPanel.getCard().addEditListener(\

第四步、编写返回BillCardPanel(UAP封装的卡片容器)的方法,用来在UI类(ClientUI)或者按钮处理类(ButtonEventHandler)调用。

第五步、按业务需要,可以将方便与卡片处理的相关方法写在这里。

8.4.2.3 按钮控制类(ButtonCtrl)

按钮控制类的作用,是进行 初始化按钮 和 按钮状态控制的

第一步、在UI包里创建ButtonCtrl类

第二步、在ButtonCtrl类中添加一个构造方法,参数为UI类。 第三步、在ButtonCtrl类的初始化方法中,new 一个ButtonTree对象

ButtonTree的对象构造的时候实际上就是在sm_butnregister这个表中按照构造中的节点号,来查询这个节点下的所有注册的按钮,并将按钮放入界面上。

第四步、在初始化方法中,将我们构造的ButtonObject 用ButtonTree类中的.getButton(String funcode)的这种方式获得实例。

第五步、编写setButtonStatus() 方法。根据不同的界面编辑状态,来用ButtonObject的setEnabled(boolean bl)方法来控制按钮是否可以编辑。

第六步、在初始化方法中调用setButtonStatus()设置初始的按钮状态,之后调用ClientUI中updateButtons()方法来将按钮状态等按钮属性 刷新到界面上。

m_ClientUI.updateButtons();

具体代码可以参照nc.ui.zjs.train.ButtonCtrl类来编写。

8.5 步骤五、定制界面UI类

第一步、在nc.ui.zjs.train包中建立ClientUI类,继承自ToftPanel类 public class ClientUI extends ToftPanel{

- 40 -

//…… }

第二步、在初始化方法中,做以下处理。

1、设置常量类,将节点信息,客户端登陆信息维护进去

2、初始化卡片界面,列表界面,卡片界面的控制器,列表界面控制器 3、初始化前台缓存

4、初始化按钮,初始化按钮的事件处理类。 public void initialize() {

}

// 初始化卡片界面和模板

CardPanel m_cardPanel = new CardPanel(this); // 初始化卡片控制器(添加监听和卡片相关控制都在此类处理) m_cardCtrl = new CardPanelCtrl(this, m_cardPanel); // 初始化列表

ListPanel m_listPanel = new ListPanel(this); // 初始化列表控制器

m_listCtrl = new ListPanelCtrl(this, m_listPanel); // 初始化前台缓存

m_Model = new Model(); // 初始化按钮 initButtons();

// 设置布局

setLayout(new CardLayout()); // 初始化节点信息和客户端常量 initNodeInfo();

这样,就完成了UI类

8.6 步骤六、定制按钮事件处理类

7.6.1 编写ButtonEventHandler的步骤

处理按钮和事件的类ButtonEventHandler是我们单据比较核心的地方,大部分的业务逻辑都是根据按

- 41 -

钮驱动开始的。所以我们单独把按钮事件处理的类单独出来。

ButtonEventHandler的构造也是需要一个ClientUI的参数,来保证和UI类关联,之后根据ButtonCtrl类来判断我们点击的是哪个按钮,之后来做具体的按钮点击后处理。

public ButtonEventHandler(ClientUI clientUI) {

private ButtonCtrl getButtonCtrl() { }

public void onButtonClick(ButtonObject bo) throws Exception {

if (bo == getButtonCtrl().m_boAdd) {

onAdd();

return m_ClientUI.getButtonCtrl(); }

m_ClientUI = clientUI;

} else if (bo == getButtonCtrl().m_boDel) {

onDel();

} else if (bo == getButtonCtrl().m_boMod) {

onMod();

} else if (bo == getButtonCtrl().m_boSave) {

onSave();

} else if (bo == getButtonCtrl().m_boCancel) {

onCancel();

} else if (bo == getButtonCtrl().m_boAddLine) {

onAddLine();

} else if (bo == getButtonCtrl().m_boDelLine) {

getCard().delLine();

} else if (bo == getButtonCtrl().m_boCopyLine) {

// 复制行 onCopyLine();

} else if (bo == getButtonCtrl().m_boPasteLine) {

// 粘贴行 onPasteLine();

} else if (bo == getButtonCtrl().m_boPasteLastLine) {

// 粘贴到最后一行

- 42 -

onPasteLastLine();

} else if (bo == getButtonCtrl().m_boQuery) {

onQuery();

} else if (bo == getButtonCtrl().m_boPrintPriview) {

onPrintPreview();

} else if (bo == getButtonCtrl().m_boPrint) {

onPrint();

} else if (bo == getButtonCtrl().m_boRefresh) {

onRefresh();

} else if (bo == getButtonCtrl().m_boFind) {

onFind();

} else if (bo == getButtonCtrl().m_boSwitch) {

onSwitch();

} else if (bo == getButtonCtrl().m_boFirstPage) {

// 首页 onFirst();

} else if (bo == getButtonCtrl().m_boPreviousPage) {

// 上页

onPrevious();

} else if (bo == getButtonCtrl().m_boNextPage) {

// 下页 onNext();

} else if (bo == getButtonCtrl().m_boLastPage) {

// 末页 onLast();

} else if (bo == getButtonCtrl().m_boSelectAll) {

// 全选

onBoSelectAll();

} else if (bo == getButtonCtrl().m_boCancelAll) {

// 全消

onBoCancelAll();

} else { }

SCMEnv.error(\);

- 43 -

搜索更多关于: NC单据开发初学手册V1.0 的文档
NC单据开发初学手册V1.0.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9psn34uocv6b8ve014cp_12.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top