http://zetcode.com/tutorials/javaswingtutorial/menusandtoolbars/
在 Java Swing 教程的这一部分中,我们将使用菜单和工具栏。 在示例中,我们将创建常规菜单,子菜单,复选框菜单项,单选按钮菜单项,弹出菜单和工具栏。
Tweet
菜单是位于菜单栏中的一组命令。 工具栏上的按钮带有应用中的一些常用命令。
我们将使用以下组件:
- - 实现菜单栏。
- — 实现一个菜单,一个包含的弹出窗口,当用户在上选择一个项目时显示。
- - 在菜单中实现一个项目。 用户选择它来执行操作。
- - 提供用于实现分隔线的通用组件。
- - 实现可以选择或取消选择的菜单。
- - 实现单选按钮菜单项,用于相互排斥的选择。
- - 为一组按钮创建一个多重排除范围。
- - 实现一个弹出菜单,一个弹出的小窗口并显示一系列选项。
- - 实现工具栏,该工具栏对于显示常用的或控件很有用。
我们从一个简单的菜单栏示例开始。
我们的示例将显示一个菜单项。 选择退出菜单项,我们关闭应用。
使用创建菜单栏。
菜单中显示退出图标。
使用类创建菜单对象。 也可以通过键盘访问菜单。 要将菜单绑定到特定键,我们使用方法。 在我们的情况下,可以使用 快捷方式打开菜单。
菜单对象由菜单项组成。 使用类创建一个菜单项。 菜单项具有其自己的助记符。 可以使用 组合键激活。
此代码行为菜单项创建工具提示。
是一种特殊的按钮组件。 我们向它添加了一个动作监听器,它终止了应用。
菜单项被添加到菜单对象,菜单对象被插入菜单栏。
方法设置容器的菜单栏。

图:简单菜单
每个菜单也可以有一个子菜单。 这样,我们可以将类似的命令分组。 例如,我们可以将用于隐藏和显示各种工具栏(例如个人栏,地址栏,状态栏或导航栏)的命令放在称为工具栏的子菜单中。 在菜单中,我们可以使用分隔符来分隔命令。 分隔符是一条简单的线。 通常的做法是使用单个分隔符将“新建”,“打开”,“保存”等命令与“打印”,“打印预览”等命令分开。 除助记符外,还可通过加速器启动菜单命令。
本示例创建一个子菜单,并使用菜单分隔符分隔菜单项组。
子菜单与其他任何普通菜单一样。 它是用相同的方式创建的。 我们只需将菜单添加到现有菜单即可。
使用方法将工具提示设置为“退出”菜单项。
此构造器创建带有标签和图标的菜单项。
分隔符是一条水平线,可以在视觉上分隔菜单项。 这样,我们可以将项目分组到一些合理的位置。 使用方法创建分隔符。

图:子菜单
助记符和加速键是使您能够通过键盘执行命令的快捷键。 助记符导航菜单层次结构以选择特定的菜单项,而加速器则跳过菜单层次结构并直接激活菜单项。
下面的示例利用操作,这些操作是可以由需要相同功能的不同组件共享的对象。
该示例包含多个助记符和一个加速器。 三个菜单项共享一个动作对象。 选择这三个菜单项会使它们的操作命令打印到控制台。
助记符设置为“文件”菜单。 现在可以使用 快捷键激活菜单。
“新建”菜单项将操作对象作为参数。 其构造器将文本标签,图标和助记键作为参数。
“退出”菜单项不使用操作对象。 其功能是单独构建的。 我们调用方法来设置助记键。 要使用助记符,该组件必须在屏幕上可见。 因此,我们必须首先激活菜单对象,使“退出”菜单项可见,然后才能激活此菜单项。 这意味着此菜单项通过 组合键激活。
加速器是直接启动菜单项的快捷键。 在我们的情况下,通过按 关闭我们的应用。 通过方法设置加速器。
此动作类的一个实例由三个菜单项共享。 动作使用各种键来定义其功能。 方法将字符串值与指定的键关联。

图:助记符和加速器
带下划线的字符在视觉上提示助记符,加速器的快捷键显示在菜单项标签的旁边。
是可以选择或取消选择的菜单项。 如果选中该菜单项,通常会在其旁边带有对勾标记。 如果未选择或取消选择,菜单项将显示而没有选中标记。 与常规菜单项一样,复选框菜单项可以具有与之关联的文本或图形图标,或两者都有。
本示例使用来切换状态栏的可见性。
状态栏是一个简单的组件。 我们在标签周围放置了凸起的,以使其可见。
创建一个复选框菜单项。 标签上有两个字母; 因此,我们使用方法来选择要强调的内容。 我们选择了第二个。
因为状态栏最初是可见的,所以我们调用的方法来选择它。
是一种特殊的按钮组件。 它实现了接口。 可用于监听其状态变化。 根据其状态,我们显示或隐藏状态栏。

图:
使您可以从互斥的选项列表中进行选择。 选择特定的会取消选择所有其他项目。 将放入。
该示例创建一个包含三个组件的菜单。
用于为一组按钮创建一个多重排除范围。
创建一个新的。 用方法选择它,并用方法放置在按钮组中。
用于监听的事件。 确定状态更改的类型。 如果更改为,我们将在状态栏上更改状态。 (另一个状态更改是。)

图:
某些应用在右侧显示菜单。 通常,它是一个“帮助”菜单。
该示例在左侧显示三个菜单,在右侧显示一个菜单。
将创建一个菜单栏和四个菜单对象。
添加三个菜单后,我们使用方法在菜单栏上添加水平胶水。 胶水会吸收所有可用的额外空间。 这会将“帮助”菜单推到菜单栏的右侧。

图:右侧的帮助菜单
菜单的另一种类型是弹出菜单。 Java Swing 具有此功能的类。 它也称为上下文菜单,通常在右键单击组件时显示。 想法是仅提供与当前上下文相关的命令。 说我们有一张图片。 通过右键单击图像,我们将弹出一个窗口,其中包含用于保存,缩放或移动图像的命令。
该示例显示了带有两个命令的弹出菜单。 第一个命令最大化窗口,第二个命令退出应用。
创建一个弹出菜单。
弹出菜单由组成。 此项目将最大化框架。 方法确定帧的状态。 可用状态为:,,,和。 最大化帧后,我们将使用方法禁用菜单项。
菜单项通过插入到弹出菜单中。
弹出菜单显示在我们用鼠标按钮单击的位置。 方法返回哪些鼠标按钮已更改状态。 仅在右键单击时启用弹出菜单。 一旦窗口未最大化,我们将启用最大化菜单项。

图:
菜单将我们可以在应用中使用的命令分组。 使用工具栏可以快速访问最常用的命令。 在 Java Swing 中,类在应用中创建一个工具栏。
该示例创建一个带有一个退出按钮的工具栏。
使用创建工具栏。
我们创建一个按钮并将其添加到工具栏。 插入工具栏中的按钮是常规。
工具栏位于的北部区域。 (是,,,和内容窗格的默认布局管理器。

图:
通常需要在窗口上显示多个工具栏。 以下示例显示了如何执行此操作。
窗口顶部显示两个工具栏。
使用创建两个工具栏对象。
管理器用于将工具栏放置在容器的顶部。

图:工具栏 s
在 Java Swing 教程的这一部分中,我们提到了菜单和工具栏。 我们使用了以下组件:,,,,,,,和。
我们一直在努力
apachecn/AiLearning

版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/6512.html