关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类

简介:

Action类,ActionGroup类,MenuManager类介绍

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,如需转载请自行联系原作者

相关文章
|
XML Android开发 数据格式
Viewbinding自动生成XML的一个对应绑定类
设置完sync一下,然后会在项目中看到对应的XML文件的一个继承了ViewBinding的对应绑定类。 如果不想生成,则在XML文件中设置一个tools:viewBindingIgnore="true"属性,即可忽略不生成对应绑定类。
213 0
MFC中使用Tab Control从CTabCtrl控件类继承自己的类(CTabSheet)来处理。
使用Tab Control,并且从CTabCtrl控件类继承自己的类(CTabSheet)来处理。  首先我先介绍一下如何使用CTabSheet。  先要制作子对话框类,这次的子对话框类不要从CPropertyPage继承,而是直接从CDialog继承。
1786 0
|
JavaScript
学习TypeScrip8(Class类)
使用 private 修饰符 代表定义的变量私有的只能在内部访问 不能在外部访问
122 0
学习TypeScrip8(Class类)

热门文章

最新文章