javaGUI学习29:AWT-菜单

1、菜单类

处理菜单时要用到4个类:MenuBar、Menu、Menultem以及 PopupMenu。

在使用这4个类时应注意以下几点:

  • 首先,这些类都是MenuComponet类的扩展,而MenuComponet类仅仅是可以显示在菜单中的对象组合
  • 其次,MenuBar与 Menu都实现MenuContainer,这意味着它们都可以包含MenuComponet类的实例。
  • 最后,Menu类扩展Menultem类,因此我们可以创建级联菜单。

ps:任何菜单类都不是java. awt.Component 的扩展。虽然这点看起来不重要,但考虑到菜单项不是构件,因此无法在菜单内绘制字符串或为字符串着色。正是这一点使当前AWT中不能创建属主绘制菜单,即绘制图形内的菜单。

2、文件菜单

绝大多数提供菜单条的应用程序都提供文件菜单,它位于菜单条的最左侧,而且绝大多数文件菜单中都提供菜单项。

3、处理菜单事件

菜单条与菜单可以处理其本身的显示,但是用户必须自己处理附加至菜单项的行为。

4、脱离菜单

拖离菜单是在Motif下实现的一种菜单。顾名思义,为了实现快速访问,这种菜单可以从菜单条上拖离并放置在其他地方。拖离菜单在菜单顶部拥有一个穿孔(perforated)行。一旦菜单被拖离,则拖离菜单将被放置在其本身窗口中。

5、FrameWithMenuBar类

包含菜单条的应用程序-一般要实现以下功能:

  • 创建菜单条。
  • 为菜单条添加菜单。
  • 设置框架的菜单条。
6、帮助菜单

AWT提供对帮助菜单的支持,创建帮助菜单和添加到菜单条的方式都与其他菜单相同。但帮助菜单需要调用MenuBar . setHelpMenu ()来标识,这可以确保帮助菜单无论何时创建,都总是位于菜单条的最右侧。

7、复选框菜单项

AWT提供CheckboxMenultem类。CheckboxMenultem类是一个菜单项,当激活时将在选中状态与非选中状态间切换。

8、级联菜单

由以前的讨论及例程可以推断:由于Menu类扩展Menultem类,因此利用AWT可以实现级联菜单;另外,Menu .add (Menultem)方法可以在菜单中添加一个菜单项。既然Menu也是Menultem,因此,Menu. add (Menultem)方法可以将Menu作为参数,为指定菜单添加一个菜单。

9、动态更改菜单

至此为止,菜单项的更改操作都是在完成菜单创建之前实现的,即向菜单中添加新菜单项。但是有时也需要在完成菜单创建后,再次更改菜单的构成。

10、弹出式菜单与构件

弹出式菜单必须依附于AWT构件。实际上,java. awt.Component 提供两个用于添加和删除弹出式菜单的方法,分别为:

add ( PopupMenu popup)
remove (MenuComponent popup)

创建弹出式菜单、将弹出式菜单依附于构件以及显示弹出式菜单都是很普通的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值