menu.xml

发送
1.通过"菜单名称"在menu.xml找到对应资源,通过文本资源ID即label-key找到对应的菜单项
               <menu-item
               label-key="M5_DEVICEINFO"
               auth-info="2073006"
               mnemonic="D"
               enabled="true"
               id="ID_M5_DEVICEINFO"
               action-command="M5_MenuDEVICEINFO"
               action-param="com.zte.ums.zxnm01.zxss.cm.wsf.MSG9000.V30000.config.M5config.panelDeviceInfo"
               response-class="com.zte.ums.zxnm01.zxss.cm.wsf.MSG9000.V50000.app.PriMenuBar"/>

2.在PriMenuBar中找action-command
else if(command.equals("M5_MenuDEVICEINFO"))
{
    panelDeviceInfo pane = new panelDeviceInfo();
    CommonDialog dlg = new CommonDialog(frame, pane.getTitle());
    dlg.AddPanel(pane);
    pane.setOwner(dlg);
    dlg.setTitle(CmComInfo.getNeNameByMoi(CmComInfo.getCurrMoi())
        + dlg.getTitle());
    dlg.CenterShow();
    pane.showContent(null);
}
命令发送在pane.showContent(null);

3.在panelDeviceInfo中查看showContent方法,其中关键方法为父类的mmlExec(EVENT_SHOW)

4.在JDmPanel中查看mmlExec(int Ret_Event),其中关键方法为executeMml(mmlList)

5.在JDmPanel中查看executeMml(ArrayList mmlList),其中关键方法为executeMml((String)mmlList.get(i))

6.在JDmPanel中查看executeMml(String mml),其中关键方法为WsfDataComm.DataOutSyn(this, CmComInfo.getNodeDataByMoi(getMoi()), mml)
DataOutSyn方法为同步发送方法,方法直接返回命令的发送结果。(异步方法后续自己学习)

接收
7.上述executeMml(String mml)中this.mmlRespond(retDataSet)为数据接收

8.在JDmPanel中查看mmlRespond(TDataSet tSet),其中关键方法为mmlRespond(currentCmdNo, tSet),此方法为子类覆写,见步骤9
mmlRespond(TDataSet tSet)方法做通用的逻辑处理,比如错误码处理,保存数据结果到文件

9.在panelDeviceInfo中查看方法mmlRespond(int commandno, TDataSet tSet),此方法完成数据显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在HV Menu基础上,改进成读取xml文件的方式来做的菜单,可以横向、纵向,样式可自定义,更加方便了制作动态的菜单和用程序控制菜单权限。XML定义简单直观<br><br><?xml version="1.0" encoding="utf-8" ?><br><br><menus><br> <menu name="文件" link="#" background="" height="20" width="68"><br> <menu name="新建" link="javascript:alert(&apos;新建&apos;)" background="" height="20" width="68"></menu><br> <menu name="打开" link="javascript:alert(&apos;打开&apos;)" background="" height="20" width="68"></menu><br> <menu name="保存" link="javascript:alert(&apos;保存&apos;)" background="" height="20" width="68"></menu><br> <menu name="退出" link="javascript:alert(&apos;退出&apos;)" background="" height="20" width="68"></menu><br> </menu><br> <menu name="编辑" link="#" background="" height="20" width="68"><br> <menu name="复制" link="javascript:alert(&apos;复制&apos;)" background="" height="20" width="68"></menu><br> <menu name="剪切" link="javascript:alert(&apos;剪切&apos;)" background="" height="20" width="68"></menu><br> <menu name="粘贴" link="javascript:alert(&apos;粘贴&apos;)" background="" height="20" width="68"></menu><br> <menu name="删除" link="javascript:alert(&apos;删除&apos;)" background="" height="20" width="68"></menu><br> </menu><br> <menu name="收藏夹" link="" background="" height="20" width="68"><br> <menu name="Google" link="http://www.google.com" background="" height="20" width="68"></menu><br> <menu name="Yahoo" link="http://www.yahoo.com" background="" height="20" width="68"></menu><br> <menu name="邮箱" link="#" background="" height="20" width="68"><br> <menu name="网易163邮箱" link="http://mail.163.com" background="" height="20" width="98"></menu><br> <menu name="网易126邮箱" link="http://mail.126.com" background="" height="20" width="98"></menu><br> <menu name="Gmail" link="http://www.gmail.com" background="" height="20" width="98"></menu><br> </menu><br> </menu><br> <menu name="帮助" link="#" background="" height="20" width="68"><br> <menu name="访问网站" link="http://www.ayeah.net" background="" height="20" width="68"></menu><br> <menu name="发送邮件" link="mailto:[email protected]" background="" height="20" width="68"></menu><br> <menu name="论坛" link="javascript:alert(&apos;论坛&apos;)" background="" height="20" width="68"></menu><br> <menu name="关于" link="javascript:alert(&apos;关于&apos;)" background="" height="20" width="68"></menu><br> </menu><br></menus>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值