本文共 665 字,大约阅读时间需要 2 分钟。
SWT中菜单是Menu类,菜单项用MeauItem类来实现.但是在实际开发中,同一种功能会有多中表现形式,
例如:Eclipse中的"新建"功能,他会分别出现在主菜单,主工具栏,右键菜单里,
如果都是用MeanuItem来实现,就需要写三份代码,以后也要维护三份代码.当然也可以将时间处理
写成外部类来共享代码,但名称,图像以及一些其他的信息写成外部类来共享则不太方便.
JFace包中已经对以上问题提供了解决方案,JFace提供了一个Action类,
它将名称,图像,动作处理程序等集成在其中,这样就可以共享这些Action来形成菜单项,工具栏按钮等.
当然在底层最后用于Menu的还是MenuItem对象,将Action转化成MenuItem是由MenuManager(菜单管理器)来完成的.
MenuManager简化了菜单的创建,一旦生成了MenuManager对象,就可以通用于菜单栏,弹出菜单,工具栏下拉菜单.
另外.Action写成一个个的类会很凌乱.JFace又提供了一个ActionGroup类用于统一管理Action.
然后让外界程序通过ActionGroup来访问Action.当然,ActionGroup并非是使用Action所一定要的类.,只是用它会更好.
本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4167776.html,如需转载请自行联系原作者