新机框ATCA配置过程(视图部分)

  

1. mSwitch物理视图(机框/板卡)

目录nms_snms

 

1) 机框类型、板卡类型定义

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\client\res\attributesDefine.xml

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\client\res\Res_en_US.properties

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\client\res\Res_zh_CN.properties.org  修改后用工具native2ascii一下

 

2) 每类型的机框对应一个template文件

nms_snms\mswitch\chassis\resources\data\ms5\S6400EChassis_template.xml

 

 

(测试的时候这些配置文件都放在mswitch_chassis_gui.jar里面,但是要注意的是ATCA对应的ATCAChassis_trmplate.xml不仅在jar包里面要放

  在/opt/wacos/server/nms/WebNMS/data/ms5 目录下面也要放,在系统文件里面。)

3) ChassisType.java加入机框类型定义(原关键字GBP20_PLATFORM20)

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\share\

ChassisType.java

 

4) 机框、槽位布局

在界面上新增RackChassis后,物理布局信息存放在:

/opt/wacos/server/nms/WebNMS/data/ms5/$DomainID/racks.xml

/opt/wacos/server/nms/WebNMS/data/ms5/$DomainID/$RackID.xml

$DomainID、$RackID 为实际参数值

 

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\server\

ChassisDocApi.java

方法genCardAddElement()确定特殊的板卡布局,比如8,9是短槽,分享同一

 

5) 界面槽号与实际槽号mapping文件,如果一致,不用写

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\share\

S6400ESlotMapping.java

 

 

6) 机框视图的右键菜单定义

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\mainfrm\res\

menu.conf 

其中有:

 

7) 添加板卡

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\client\action\ModifyCardAction.java

根据类型调用不同的配置向导,增加一个:

modifyS6400ECards(Chassis parentChassis, Card card, HashMap cardMap)

 

8) 批量插拔卡

CardWizardAction.java

根据类型调用不同的配置向导:

迷你机框向导

modifyMiniCards(Chassis oldChassis, HashMap cardMap)

网关机框向导

modifyNormalCards(Chassis oldChassis, HashMap cardMap)

S6400E机框向导

modifyS6400ECards(Chassis oldChassis, HashMap cardMap)

其中需要增加一个S6400ECardPlugEditor

 

9) CardEditor.java添加对”S_”前缀的判断,showModifyDialog()方法添加S6400Eslotmapping判断,否则界面的可允许板卡列表不对(单块板卡)

10) CardEditorPane.java添加对”S_”前缀的判断,initValues()方法添加S6400Eslotmapping判断,否则界面的可允许板卡列表不对(批量板卡)

11) CardAssignDialog.java添加对”S_”前缀的判断

12) Chassis.java addCards()方法添加S6400Eslotmapping判断,否则界面的板卡排列不对

13) CardType.java板卡类型转换,添加对”S_”前缀的判断

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\share\

CardType.java

convertIntTypeToString()

 

14) Card.java加入ChassisType的判断(新枚举值8)

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\share\

Card.java 

ppuUpdate() update()

否则界面添加板卡成功,但重启后消失

 

15) 向导对话框行列的布局(新增文件)

nms_snms\mswitch\chassis\src\com\utstar\ems\mswitch5\physicview\client\dialogs\S6400ECardPlugEditor.java

buildMainPanel()

FormLayout fl = new FormLayout(

"4dlu, pref,5dlu,80dlu:grow,4dlu",      //第一个参数代表列,这里有5  "2dlu,pref,2dlu,pref,2dlu,pref,2dlu,pref,2dlu,pref,2dlu,pref,2dlu,pref,2dlu,pref,2dlu,pref,2dlu");  //第二个参数代表行,pref作为间隔存在

 

http://fansofjava.iteye.com/blog/1144353

swingjgoodies FormLayout

 

  1. FormLayout layout = new FormLayout(  
  2. "right:pref, 6dlu, 50dlu, 4dlu, center:50dlu", // columns  
  3. "pref, 3dlu, pref, 3dlu, pref"); // rows  
  4. CellConstraints cc = new CellConstraints();  
  5. JPanel panel = new JPanel(layout);  
  6. panel.add(new JLabel("Label1"), cc.xy(1, 1));  
  7. panel.add(new JTextField(), cc.xywh(3, 1, 3, 1));  
  8. panel.add(new JLabel("Label2"), cc.xy(1, 3));  
  9. panel.add(new JTextField(), cc.xy(3, 3));  
  10. panel.add(new JLabel("Label3"), cc.xy(1, 5));  
  11. panel.add(new JTextField(), cc.xy(3, 5));  
  12. panel.add(new JButton("按钮!"), cc.xy(5, 5));  
  13. panel.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));  

 

上面这段代码有两个地方需要讲一下,第一行定义了一个55列的layout,第一个参数是列,第二个参数是行,至于里面的参数都表示什么意思,后面再讲。

然后就将内容填入layout内,怎样填入是由CellConstraints控制的,如cc.xy(1,5)表示第一列第5行,上面的三个label分别放入的是第135行,其中24行做为间隔存在。第二行有个cc.xywh(3, 1, 3, 1),这个w表示colSpan,与htmltable里面的colspan差不多,表示跨列,因为总共只有5列,而这列是从第3列开始的,所以就是这列表示第345共有的宽度,h则表示rowSpan,即跨行。最后一句表示此panel的边距。

由上面的代码看出,FormLayout的基本用法还是挺简单的,不过细节上的东西还是不太好理解,比如FormLayout里面那些参数的意思,这个才是布局的重点。

列与行的参数都由三个部分组成:对齐方式、固定尺寸、调整方式。

对齐方式中,列对齐有left, center, right, fill.行对齐有:top, center, bottom, fill. 其中fill表示填充至整个区域。列的默认对齐方式是fill,行是center

 

关于列尺寸的问题最麻烦,有很多种单位,pref表示preferred size,即首选尺寸大小。

min表示minimum sizedlu 表示dialog units,(px, pt, in, mm, cm)分别表示Pixel, Points, Inches, Millimeter, Centimeter

 

关于调整方式的用法我也不太懂,只勉强知道grow的用法,如:left:pref:grow,表示此单元格左对齐,其内容将增长到列最大的宽度为止。grow可以简写成g而且这个grow可以这样grow(0.5),括号内是一个double的数字,当没有后面括号时默认为grow(1.0)。当然也有与grow相反的,如:none、nogrow、n。 

上面内容可能一些讲得不太清楚,有机会再来完善,另外,jgoodies FormLayout还有一些其它的辅助类,例如builder目录下的一些类,其实也是比较有用的,而且用法也很简单。总体来说,jgoodies form的确很强大。

 

 

转载于:https://www.cnblogs.com/alan-is-cjp/p/6559283.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值