JFace中的工具条和菜单
前一节中我们简单介绍了一下Action。其实所谓的Action就是一个最常用的事件,举个例子来说,对于一个按钮来说它可以有多个事件,比如按键,焦点,鼠标,等等等等吧,但是实际上在使用程序的时候,我们最关心的,就是按下去这个按钮会发生什么,这个其实就是所谓的Action。如果大家以前做过swing/awt变成的话,应该对Action不会陌生。
在JFace里面,一个Action可以对应多个GUI对象,这些对象就是所谓的Contribution Item。比如我们在一般程序里面很常见的“文件”菜单,下面都会有“新建”,“保存”等等。同时我们可以在工具条上放置相应的按钮,那么这些都是有相同的功能,在JFace里面我们可以只写一个Action,然后把它映射到不同的ContributionItem去,而不必为每个部件都写一串处理事件。
我们下面还是通过一个简单的例子来说明,在JFace中怎么使用菜单和工具条这两种最基本也是最有用的Contribution Item。
我们这个程序写得很傻,就是一个光秃秃的窗口上做了一个菜单和工具条按钮,功能也只有一个,就是每次点一下,就弹出一个输入框来问你名字是什么,然后显示一个Hello, xxx之类的。
首先我们还是来写一个Action类: