Java2新的焦点子系统是什么?
新的 Java 标准版,1。4 发行版中,Java 2 平台有了个全新的 AWT 焦点子系统,我们对此进行了独家报导。Java 语言工程师 Bertrand Portier 对新的类和方法进行了初步研究(包括基本的 KeyboardFocusManager),这些类和方法中包含该 AWT 焦点子系统。 他还提供了迁移到新的 API 时调整编程工作的技巧,一个能工作代码样本示例及其它更多内容。请在讨论论坛与作者和其它读者分享您关于本文的想法。
Java 2 标准版,1。4(也称 Merlin)引入许多人们期待已久并为之雀跃的对 Java 平台的更改。 其中一个就是对 AWT 焦点管理子系...全部
新的 Java 标准版,1。4 发行版中,Java 2 平台有了个全新的 AWT 焦点子系统,我们对此进行了独家报导。Java 语言工程师 Bertrand Portier 对新的类和方法进行了初步研究(包括基本的 KeyboardFocusManager),这些类和方法中包含该 AWT 焦点子系统。
他还提供了迁移到新的 API 时调整编程工作的技巧,一个能工作代码样本示例及其它更多内容。请在讨论论坛与作者和其它读者分享您关于本文的想法。
Java 2 标准版,1。4(也称 Merlin)引入许多人们期待已久并为之雀跃的对 Java 平台的更改。
其中一个就是对 AWT 焦点管理子系统的更改。这个 AWT 焦点子系统的新实现与旧的完全不同。实际上,许多代码都被完全重新编写过了,这样做在某些情况下是以牺牲向下兼容为代价的。我们认为这些措施是必需的,原因在于旧的 AWT 焦点子系统不完善。
改进了的焦点模型的中心是新的 KeyboardFocusManager 类,它由几个增加的 Swing 类和 AWT 类支持。本文的绝大部分用于让我们学习这些更改,并讨论它们会如何影响您的 Java 编程工作。
在本文的结束部分,我将提供一些技巧和一个亲身实践的示例来帮助您将当前的应用程序和新的 API 相集成。
请注意,本文假定您了解与 AWT 焦点子系统以前的实现相关的使用和术语。
KeyboardFocusManager 简介
KeyboardFocusManager 类用于管理与新的 AWT 焦点子系统的焦点相关的任务。
它负责活动的和已定焦的窗口以及当前的焦点所有者。它的任务是让客户机代码可以启动焦点的更改并调度与焦点相关的所有事件。
KeyboardFocusManager 给 AWT 焦点子系统带来许多新功能。
其中的一些功能如下:
用 Shift-Tab 将焦点转到 tab 组的前一个组件。
跟踪由鼠标引起的焦点遍历行为。
确定当前的焦点所有者。
KeyboardFocusManager 有四个字段:
FORWARD_TRAVERSAL_KEYS:通常是 Tab(或 Ctrl-Tab)键
BACKWARD_TRAVERSAL_KEYS:通常是 Shift+Tab(或 Ctrl-Shift-Tab)
UP_CYCLE_TRAVERSAL_KEYS:无缺省值
DOWN_CYCLE_TRAVERSAL_KEYS:无缺省值。收起