AWT 快速指南
图形用户界面
图形用户界面 (GUI) 通过一些图形组件提供用户交互。例如,我们的底层操作系统还通过窗口、框架、面板、按钮、文本字段、文本区域、列表框、组合框、标签、复选框等提供 GUI。这些都称为组件。使用这些组件,我们可以为应用程序创建交互式用户界面。
GUI 向最终用户提供结果以响应引发的事件。GUI 完全基于事件。例如,单击按钮、关闭窗口、打开窗口、在文本区域中键入内容等。这些活动称为事件。GUI 使最终用户更容易使用应用程序。这也让它们变得有趣。
基本术语
| 学期 | 描述 | 
|---|---|
| 成分 | 组件是具有图形表示的对象,可以显示在屏幕上并可以与用户交互。例如图形用户界面的按钮、复选框、列表和滚动条。 | 
| 容器 | 容器对象是一个可以包含其他组件的组件。添加到容器中的组件在列表中进行跟踪。列表的顺序将定义组件在容器内从前到后的堆叠顺序。如果在将组件添加到容器时未指定索引,则该组件将被添加到列表的末尾。 | 
| 控制板 | 面板提供了应用程序可以附加任何其他组件(包括其他面板)的空间。 | 
| 窗户 | 窗口是屏幕上显示的矩形区域。在不同的窗口中我们可以执行不同的程序并显示不同的数据。Window为我们提供了多任务环境。窗口在构造时必须有一个框架、对话框或定义为其所有者的另一个窗口。 | 
| 框架 | 框架是一个带有标题和边框的顶级窗口。框架的大小包括指定为边框的任何区域。框架封装了窗口。它有一个标题栏、菜单栏、边框和调整角的大小。 | 
| 帆布 | Canvas 组件表示应用程序可以在其上绘图的屏幕上的空白矩形区域。应用程序还可以捕获来自 Canvas 组件空白区域的输入事件。 | 
基于 GUI 的应用程序示例
以下是一些基于 GUI 的应用程序的示例。
- 自动柜员机 (ATM) 
- 航空票务系统 
- 火车站的信息亭 
- 移动应用程序 
- 导航系统 
GUI 相对于 CUI 的优点
- GUI 提供图形图标进行交互,而 CUI(字符用户界面)提供简单的基于文本的界面。 
- GUI 使应用程序更加有趣,而 CUI 则不然。 
- GUI 提供点击和执行环境,而在 CUI 中每次我们必须输入任务命令时。 
- 新用户可以通过视觉指示器轻松地与图形用户界面进行交互,但在字符用户界面中却很困难。 
- GUI提供了很多对文件系统和操作系统的控制,而在CUI中你必须使用难以记住的命令。 
- GUI 中的 Windows 概念允许用户同时查看、操作和控制多个应用程序,而在 CUI 中用户可以一次控制一项任务。 
- GUI 提供多任务环境,CUI 也提供多任务环境,但 CUI 不提供与 GUI 相同的易用性。 
- 使用 GUI 可以更轻松地控制和导航操作系统,而操作系统在命令用户界面中变得非常慢。GUI 可以轻松定制。 
环境设置
本节将指导您如何在计算机上下载并设置 Java。请按照以下步骤设置环境。
Java SE 可以通过下载 Java链接免费获得。因此,您可以根据您的操作系统下载一个版本。
按照说明下载 java 并运行 .exe以在您的计算机上安装 Java。在计算机上安装 Java 后,您需要设置环境变量以指向正确的安装目录:
设置 Windows 2000/XP 的路径:
假设您已将 Java 安装在c:\Program Files\java\jdk目录中:
- 右键单击“我的电脑”并选择“属性”。 
- 单击“高级”选项卡下的“环境变量”按钮。 
- 现在更改“Path”变量,使其也包含 Java 可执行文件的路径。例如,如果路径当前设置为“C:\WINDOWS\SYSTEM32”,则将路径更改为“C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin”。 
设置 Windows 95/98/ME 的路径:
假设您已将 Java 安装在c:\Program Files\java\jdk目录中:
- 编辑“C:\autoexec.bat”文件并在末尾添加以下行: - 'SET PATH=%PATH%;C:\Program Files\java\jdk\bin' 
设置 Linux、UNIX、Solaris、FreeBSD 的路径:
环境变量 PATH 应设置为指向 java 二进制文件的安装位置。如果您在执行此操作时遇到问题,请参阅您的 shell 文档。
例如,如果您使用bash作为 shell,那么您可以将以下行添加到 '.bashrc:export PATH=/path/to/java:$PATH' 的末尾
流行的 Java 编辑器:
要编写 Java 程序,您需要一个文本编辑器。市场上还有更复杂的 IDE。但目前,您可以考虑以下其中一项:
- 记事本:在 Windows 计算机上,您可以使用任何简单的文本编辑器,例如记事本(本教程推荐)、TextPad。 
- Netbeans:是一个开源且免费的 Java IDE,可以从http://www.netbeans.org/index.html下载。 
- Eclipse:也是由eclipse开源社区开发的java IDE,可以从http://www.eclipse.org/下载。 
AWT 控件
每个用户界面都考虑以下三个主要方面:
- UI 元素:这是用户最终看到并与之交互的核心视觉元素。GWT 提供了大量广泛使用的常见元素列表,从基本到复杂,我们将在本教程中介绍这些元素。 
- 布局:它们定义 UI 元素在屏幕上的组织方式,并为 GUI(图形用户界面)提供最终的外观和感觉。这部分将在布局章节中介绍。 
- Behave:这些是用户与 UI 元素交互时发生的事件。这部分将在事件处理章节中介绍。 
 
每个 AWT 控件都从 Component 类继承属性。
AWT 组件类
介绍
Component类是 AWT 非菜单用户界面控件的抽象基类。组件用图形表示来表示对象。
类声明
以下是java.awt.Component类的声明:
public abstract class Component
   extends Object
      implements ImageObserver, MenuContainer, Serializable
场地
以下是java.awt.Component类的字段:
- static float BOTTOM_ALIGNMENT —— getAlignmentY 的易用常量。 
- static float CENTER_ALIGNMENT —— getAlignmentY 和 getAlignmentX 的易用常量。 
- static float LEFT_ALIGNMENT —— getAlignmentX 的易用常量。 
- static float RIGHT_ALIGNMENT —— getAlignmentX 的易用常量。 
- static float TOP_ALIGNMENT —— getAlignmentY() 的易于使用的常量。 
类构造函数
| 序列号 | 构造函数及描述 | 
|---|---|
| 1 | 受保护的组件() 这将创建一个新组件。 | 
类方法
| 序列号 | 方法及说明 | 
|---|---|
| 1 | 布尔操作(事件事件,对象内容) 已弃用。从 JDK 版本 1.1 开始,应将此组件注册为触发操作事件的组件上的 ActionListener。 | 
| 2 | void add(PopupMenu 弹出窗口) 将指定的弹出菜单添加到组件。 | 
| 3 | 无效addComponentListener(ComponentListener l) 添加指定的组件侦听器以接收来自该组件的组件事件。 | 
| 4 | 无效addFocusListener(FocusListener l) 添加指定的焦点侦听器,以在该组件获得输入焦点时接收来自该组件的焦点事件。 | 
| 5 | 无效addHierarchyBoundsListener(HierarchyBoundsListener l) 添加指定的层次结构边界侦听器,以便当此容器所属的层次结构发生更改时接收来自此组件的层次结构边界事件。 | 
| 6 | 无效addHierarchyListener(HierarchyListener l) 添加指定的层次结构侦听器,以便当此容器所属的层次结构发生更改时接收来自此组件的层次结构更改事件。 | 
| 7 | 无效addInputMethodListener(InputMethodListener l) 添加指定的输入法侦听器以接收来自该组件的输入法事件。 | 
| 8 | 无效addKeyListener(KeyListener l) 添加指定的按键侦听器以接收来自该组件的按键事件。 | 
| 9 | 无效addMouseListener(MouseListener l) 添加指定的鼠标侦听器以接收来自该组件的鼠标事件。 | 
| 10 | 无效addMouseMotionListener(MouseMotionListener l) 添加指定的鼠标移动侦听器以接收来自该组件的鼠标移动事件。 | 
| 11 | 无效addMouseWheelListener(MouseWheelListener l) 添加指定的鼠标滚轮侦听器以接收来自该组件的鼠标滚轮事件。 | 
| 12 | 无效addNotify() 通过将其连接到本机屏幕资源,使该组件可显示。 | 
| 13 | 无效addPropertyChangeListener(PropertyChangeListener侦听器) 将 PropertyChangeListener 添加到侦听器列表。 | 
| 14 | void addPropertyChangeListener(String propertyName, PropertyChangeListener 侦听器) 将 PropertyChangeListener 添加到特定属性的侦听器列表。 | 
| 15 | void applyComponentOrientation(ComponentOrientation 方向) 设置此组件及其中包含的所有组件的 ComponentOrientation 属性。 | 
| 16 | 布尔 areFocusTraversalKeysSet(int id) 返回是否已为此组件显式定义给定焦点遍历操作的焦点遍历键集。 | 
| 17 号 | int checkImage(图像图像,ImageObserver观察者) 返回指定图像的屏幕表示的构造状态。 | 
| 18 | int checkImage(图像图像,int宽度,int高度,ImageObserver观察者) 返回指定图像的屏幕表示的构造状态。 | 
| 19 | 布尔值包含(int x,int y) 检查此组件是否“包含”指定点,其中 x 和 y 定义为相对于此组件的坐标系。 | 
| 20 | 布尔包含(点 p) 检查此组件是否“包含”指定点,其中该点的 x 和 y 坐标定义为相对于此组件的坐标系。 | 
| 21 | Image createImage(ImageProducer 制作者) 从指定的图像生成器创建图像。 | 
| 22 | 图像 createImage(int 宽度,int 高度) 创建一个离屏可绘制图像以用于双缓冲。 | 
| 23 | VolatileImage createVolatileImage(int 宽度,int 高度) 创建一个易失性的离屏可绘制图像以用于双缓冲。 | 
| 24 | VolatileImage createVolatileImage(int 宽度,int 高度, ImageCapability 上限) 创建具有给定功能的易失性离屏可绘制图像。 | 
| 25 | 无效传递事件(事件e) 已弃用。从 JDK 版本 1.1 开始,被dispatchEvent(AWTEvent e) 取代。 | 
| 26 | 无效禁用() 已弃用。从 JDK 版本 1.1 开始,由 setEnabled(boolean) 取代。 | 
| 27 | protected void disableEvents(long eventsToDisable) 禁止将指定事件掩码参数定义的事件传递到此组件。 | 
| 28 | 无效调度事件(AWTEvent e) 向该组件或其子组件之一分派事件。 | 
| 29 | 无效 doLayout() 提示布局管理器布置该组件。 | 
| 30 | 无效启用() 已弃用。从 JDK 版本 1.1 开始,由 setEnabled(boolean) 取代。 | 
| 31 | 无效启用(布尔值b) 已弃用。从 JDK 版本 1.1 开始,由 setEnabled(boolean) 取代。 | 
| 32 | protected void enableEvents(long eventsToEnable) 允许将指定事件掩码参数定义的事件传递到此组件。 | 
| 33 | 无效enableInputMethods(布尔启用) 启用或禁用该组件的输入法支持。 | 
| 34 | protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) 支持报告布尔属性的绑定属性更改。 | 
| 35 | void firePropertyChange(String propertyName, byte oldValue, byte newValue) 报告绑定属性更改。 | 
| 36 | void firePropertyChange(String propertyName, char oldValue, char newValue) 报告绑定属性更改。 | 
| 37 | void firePropertyChange(String propertyName, double oldValue, double newValue) 报告绑定属性更改。 | 
| 38 | void firePropertyChange(String propertyName, float oldValue, float newValue) 报告绑定属性更改。 | 
| 39 | void firePropertyChange(String propertyName, long oldValue, long newValue) 报告绑定属性更改。 | 
| 40 | protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) 支持报告对象属性的绑定属性更改。 | 
| 41 | void firePropertyChange(String propertyName, 短 oldValue, 短 newValue) 报告绑定属性更改。 | 
| 42 | AccessibleContext getAccessibleContext() 获取与此 Component 关联的 AccessibleContext。 | 
| 43 | 浮动 getAlignmentX() 返回沿 x 轴的对齐方式。 | 
| 44 | float getAlignmentY() 返回沿 y 轴的对齐方式。 | 
| 45 | 获取背景颜色() 获取该组件的背景颜色。 | 
| 46 | int getBaseline(int 宽度,int 高度) 返回基线。 | 
| 47 | Component.BaselineResizeBehavior getBaselineResizeBehavior() 返回一个枚举,指示组件的基线如何随着大小的变化而变化。 | 
| 48 | 矩形 getBounds() 以 Rectangle 对象的形式获取此组件的边界。 | 
| 49 | 矩形 getBounds(矩形 rv) 将此组件的边界存储到返回值rv 和 return rv 中。 | 
| 50 | ColorModel getColorModel() 获取用于在输出设备上显示组件的 ColorModel 实例。 | 
| 51 | 组件 getComponentAt(int x,int y) 确定此组件或其直接子组件之一是否包含 (x, y) 位置,如果包含,则返回包含组件。 | 
| 52 | 组件 getComponentAt(点 p) 返回包含指定点的组件或子组件。 | 
| 53 | ComponentListener[] getComponentListeners() 返回在此组件上注册的所有组件侦听器的数组。 | 
| 54 | ComponentOrientation getComponentOrientation() 检索用于对该组件内的元素或文本进行排序的语言敏感方向。 | 
| 55 | 光标 getCursor() 获取组件中设置的光标。 | 
| 56 | DropTarget getDropTarget() 获取与此 Component 关联的 DropTarget。 | 
| 57 | 容器 getFocusCycleRootAncestor() 返回 Container,它是该 Component 焦点遍历循环的焦点循环根。 | 
| 58 | FocusListener[] getFocusListeners() 返回在此组件上注册的所有焦点侦听器的数组。 | 
| 59 | 设置 <AWTKeyStroke> getFocusTraversalKeys(int id) 返回此组件的给定遍历操作的焦点遍历键集。 | 
| 60 | 布尔 getFocusTraversalKeysEnabled() 返回是否为此组件启用焦点遍历键。 | 
| 61 | 字体 getFont() 获取该组件的字体。 | 
| 62 | FontMetrics getFontMetrics(字体字体) 获取指定字体的字体规格。 | 
| 63 | 颜色 getForeground() 获取该组件的前景色。 | 
| 64 | 图形 getGraphics() 为此组件创建图形上下文。 | 
| 65 | GraphicsConfiguration getGraphicsConfiguration() 获取与此组件关联的 GraphicsConfiguration。 | 
| 66 | int getHeight() 返回该组件的当前高度。 | 
| 67 | HierarchyBoundsListener[] getHierarchyBoundsListeners() 返回在此组件上注册的所有层次结构边界侦听器的数组。 | 
| 68 | HierarchyListener[] getHierarchyListeners() 返回在此组件上注册的所有层次结构侦听器的数组。 | 
| 69 | 布尔 getIgnoreRepaint() | 
| 70 | 输入上下文 getInputContext() 获取此组件使用的输入上下文,用于处理在此组件中输入文本时与输入方法的通信。 | 
| 71 | 输入方法监听器[] getInputMethodListeners() 返回在此组件上注册的所有输入法侦听器的数组。 | 
| 72 | 输入方法请求 getInputMethodRequests() 获取输入法请求处理程序,该处理程序支持来自此组件的输入法的请求。 | 
| 73 | KeyListener[] getKeyListeners() 返回在此组件上注册的所有关键侦听器的数组。 | 
| 74 | <T 扩展 EventListener> T[] getListeners(Class<T>listenerType) 返回当前在此组件上注册为 FooListener 的所有对象的数组。 | 
| 75 | 区域设置 getLocale() 获取该组件的区域设置。 | 
| 76 | 点 getLocation() 以指定组件左上角的点的形式获取此组件的位置。 | 
| 77 | 点获取位置(点rv) 将此分量的 x,y 原点存储到返回值rv 中并返回 rv。 | 
| 78 | 点 getLocationOnScreen() 以点的形式获取此组件的位置,该点指定组件在屏幕坐标空间中的左上角。 | 
| 79 | 维度 getMaximumSize() 获取该组件的最大尺寸。 | 
| 80 | 尺寸 getMinimumSize() 获取该组件的最小尺寸。 | 
| 81 | MouseListener[] getMouseListeners() 返回在此组件上注册的所有鼠标侦听器的数组。 | 
| 82 | MouseMotionListener[] getMouseMotionListeners() 返回在此组件上注册的所有鼠标运动侦听器的数组。 | 
| 83 | 点 getMousePosition() 如果组件位于鼠标指针正下方,则返回鼠标指针在此组件的坐标空间中的位置,否则返回 null。 | 
| 84 | MouseWheelListener[] getMouseWheelListeners() 返回在此组件上注册的所有鼠标滚轮侦听器的数组。 | 
| 85 | 字符串 getName() 获取组件的名称。 | 
| 86 | 容器 getParent() 获取此组件的父组件。 | 
| 87 | java.awt.peer.ComponentPeer getPeer() 已弃用。从 JDK 1.1 版开始,程序不应直接操作对等点;替换为布尔值 isDisplayable()。 | 
| 88 | 维度 getPreferredSize() 获取该组件的首选大小。 | 
| 89 | PropertyChangeListener[] getPropertyChangeListeners() 返回在此组件上注册的所有属性更改侦听器的数组。 | 
| 90 | PropertyChangeListener[] getPropertyChangeListeners(String propertyName) 返回与指定属性关联的所有侦听器的数组。 | 
| 91 | 维度 getSize() 以 Dimension 对象的形式返回此组件的大小。 | 
| 92 | Dimension getSize(Dimension rv)将此组件的宽度/高度存储到返回值rv 中并返回 rv。 | 
| 93 | 工具包 getToolkit() 获取该组件的工具包。 | 
| 94 | 对象 getTreeLock() 获取该组件的锁定对象(拥有线程同步监视器的对象) 用于 AWT 组件树和布局操作。 | 
| 95 | int getWidth() 返回该组件的当前宽度。 | 
| 96 | int getX() 返回组件原点的当前 x 坐标。 | 
| 97 | int getY() 返回组件原点的当前 y 坐标。 | 
| 98 | boolean gotFocus(事件事件,对象是什么) 已弃用。从 JDK 版本 1.1 开始,由 processFocusEvent(FocusEvent) 取代 。 | 
| 99 | 布尔句柄事件(事件事件) 已弃用。从 JDK 版本 1.1 开始,被 processEvent(AWTEvent) 取代。 | 
| 100 | 布尔值 hasFocus() 如果此组件是焦点所有者,则返回 true。 | 
| 101 | 无效隐藏() 已弃用。从 JDK 版本 1.1 开始,由 setVisible(boolean) 取代。 | 
| 102 | 布尔 imageUpdate(图像 img,int infoflags,int x,int y,int w,int h) 当图像更改时重新绘制组件。 | 
| 103 | 内部布尔值(int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 contains(int, int) 取代。 | 
| 104 | 无效无效() 使该组件无效。 | 
| 105 | 布尔 isBackgroundSet() 返回是否已为此组件显式设置背景颜色。 | 
| 106 | 布尔 isCursorSet() 返回是否已为此组件显式设置光标。 | 
| 107 | 布尔值 isDisplayable() 确定该组件是否可显示。 | 
| 108 | 布尔 isDoubleBuffered() 如果此组件绘制到屏幕外图像(缓冲区), 则返回 true 稍后将其复制到屏幕上。 | 
| 109 | 布尔值 isEnabled() 确定该组件是否启用。 | 
| 110 | 布尔值 isFocusable() 返回此组件是否可以聚焦。 | 
| 111 | boolean isFocusCycleRoot(Container 容器) 返回指定的 Container 是否是此 Component 焦点遍历循环的焦点循环根。 | 
| 112 | 布尔 isFocusOwner() 如果此组件是焦点所有者,则返回 true。 | 
| 113 | 布尔 isFocusTraversable() 已弃用。从 1.4 开始,被 isFocusable() 取代。 | 
| 114 | 布尔 isFontSet() 返回是否已为此组件显式设置字体。 | 
| 115 | 布尔 isForegroundSet() 返回是否已为此组件显式设置前景色。 | 
| 116 | 布尔 isLightweight() 轻量级组件没有本地工具包对等体。 | 
| 117 | 布尔 isMaximumSizeSet() 如果最大大小已设置为非空值,则返回 true,否则返回 false。 | 
| 118 | 布尔 isMinimumSizeSet() 返回是否已使用非空值调用 setMinimumSize。 | 
| 119 | 布尔值 isOpaque() 如果该组件完全不透明则返回 true,默认情况下返回 false。 | 
| 120 | 布尔 isPreferredSizeSet() 如果首选大小已设置为非空值,则返回 true,否则返回 false。 | 
| 121 | 布尔 isShowing() 确定该组件是否显示在屏幕上。 | 
| 122 | 布尔值 isValid() 确定该组件是否有效。 | 
| 123 | 布尔值 isVisible() 确定当其父组件可见时此组件是否应可见。 | 
| 124 | boolean keyDown(事件事件,int key) 已弃用。从 JDK 版本 1.1 开始,由 processKeyEvent(KeyEvent) 取代。 | 
| 125 | 布尔 keyUp(事件事件,int key) 已弃用。从 JDK 版本 1.1 开始,由 processKeyEvent(KeyEvent) 取代。 | 
| 126 | 无效布局() 已弃用。从 JDK 1.1 版开始,被 doLayout() 取代。 | 
| 127 | 无效列表() 将此组件的列表打印到标准系统输出流 System.out。 | 
| 128 | 无效列表(PrintStream 输出) 将此组件的列表打印到指定的输出流。 | 
| 129 | 无效列表(PrintStream out,int缩进) 从指定的缩进开始,将列表打印到指定的打印流。 | 
| 130 | 无效列表(PrintWriter 输出) 将列表打印到指定的打印编写器。 | 
| 131 | 无效列表(PrintWriter 输出,int 缩进) 从指定的缩进开始,将列表打印到指定的打印编写器。 | 
| 132 | 组件定位(int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 getComponentAt(int, int) 取代。 | 
| 133 | 点位置() 已弃用。从 JDK 1.1 版开始,由 getLocation() 取代。 | 
| 134 | 布尔型lostFocus(事件事件,对象是什么) 已弃用。从 JDK 版本 1.1 开始,由 processFocusEvent(FocusEvent) 取代。 | 
| 135 | 布尔 mouseDown(事件 evt,int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 processMouseEvent(MouseEvent) 取代。 | 
| 136 | 布尔 mouseDrag(事件 evt,int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 processMouseMotionEvent(MouseEvent) 取代。 | 
| 137 | boolean mouseEnter(事件事件,int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 processMouseEvent(MouseEvent) 取代。 | 
| 138 | 布尔 mouseExit(事件 evt,int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 processMouseEvent(MouseEvent) 取代。 | 
| 139 | 布尔 mouseMove(事件 evt,int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 processMouseMotionEvent(MouseEvent) 取代。 | 
| 140 | 布尔 mouseUp(事件 evt,int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 processMouseEvent(MouseEvent) 取代。 | 
| 141 | 无效移动(int x,int y) 已弃用。从 JDK 版本 1.1 开始,由 setLocation(int, int) 取代。 | 
| 142 | 无效的下一个焦点() 已弃用。从 JDK 版本 1.1 开始,被 TransferFocus() 取代。 | 
| 143 | 虚空涂料(图形g) 绘制该组件。 | 
| 144 | 无效paintAll(图形g) 绘制该组件及其所有子组件。 | 
| 145 | 布尔 postEvent(事件 e) 已弃用。从 JDK 版本 1.1 开始,被dispatchEvent(AWTEvent) 取代。 | 
| 146 | booleanprepareImage(图像图像,int宽度,int高度,ImageObserver观察者) 准备要在此组件上以指定的宽度和高度渲染的图像。 | 
| 147 | 无效打印(图形g) 打印该组件。 | 
| 148 | void printAll(图形g) 打印该组件及其所有子组件。 | 
| 149 | protectedvoid processComponentEvent(ComponentEvent e) 通过将组件事件分派到任何已注册的 ComponentListener 对象来处理在此组件上发生的组件事件。 | 
| 150 | 受保护的无效 processEvent(AWTEvent e) 处理此组件上发生的事件。 | 
| 151 | protected void processFocusEvent(FocusEvent e) 通过将事件分派到任何已注册的 FocusListener 对象来处理在此组件上发生的焦点事件。 | 
| 152 | protected void processHierarchyBoundsEvent(HierarchyEvent e) 通过将事件分派到任何已注册的 HierarchyBoundsListener 对象来处理在此组件上发生的层次结构边界事件。 | 
| 153 | protected void processHierarchyEvent(HierarchyEvent e) 通过将事件分派到任何已注册的 HierarchyListener 对象来处理此组件上发生的层次结构事件。 | 
| 154 | protectedvoid processInputMethodEvent(InputMethodEvent e) 通过将输入法事件分派到任何已注册的 InputMethodListener 对象来处理此组件上发生的输入法事件。 | 
| 155 | protected void processKeyEvent(KeyEvent e) 通过将事件分派到任何已注册的 KeyListener 对象来处理此组件上发生的按键事件。 | 
| 156 | protected void processMouseEvent(MouseEvent e) 通过将鼠标事件分派到任何已注册的 MouseListener 对象来处理此组件上发生的鼠标事件。 | 
| 157 | protected void processMouseMotionEvent(MouseEvent e) 通过将鼠标移动事件分派到任何已注册的 MouseMotionListener 对象来处理此组件上发生的鼠标移动事件。 | 
| 158 | protected void processMouseWheelEvent(MouseWheelEvent e) 通过将鼠标滚轮事件分派到任何已注册的 MouseWheelListener 对象来处理在此组件上发生的鼠标滚轮事件。 | 
| 159 | 无效删除(菜单组件弹出) 从组件中删除指定的弹出菜单。 | 
| 160 | 无效removeComponentListener(ComponentListener l) 删除指定的组件侦听器,使其不再接收来自该组件的组件事件。 | 
| 161 | 无效removeFocusListener(FocusListener l) 删除指定的焦点侦听器,使其不再接收来自该组件的焦点事件。 | 
| 162 | 无效removeHierarchyBoundsListener(HierarchyBoundsListener l) 删除指定的层次结构边界侦听器,以便它不再接收来自此组件的层次结构边界事件。 | 
| 163 | 无效removeHierarchyListener(HierarchyListener l) 删除指定的层次结构侦听器,以便它不再接收来自该组件的层次结构更改事件。 | 
| 164 | 无效removeInputMethodListener(InputMethodListener l) 删除指定的输入法侦听器,使其不再接收来自该组件的输入法事件。 | 
| 165 | 无效removeKeyListener(KeyListener l) 删除指定的按键侦听器,使其不再接收来自该组件的按键事件。 | 
| 166 | 无效removeMouseListener(MouseListener l) 删除指定的鼠标侦听器,使其不再接收来自该组件的鼠标事件。 | 
| 167 | 无效removeMouseMotionListener(MouseMotionListener l) 删除指定的鼠标移动侦听器,使其不再接收来自该组件的鼠标移动事件。 | 
| 168 | 无效removeMouseWheelListener(MouseWheelListener l) 删除指定的鼠标滚轮侦听器,使其不再接收来自该组件的鼠标滚轮事件。 | 
| 169 | 无效删除通知() 通过破坏本机屏幕资源来使该组件无法显示。 | 
| 170 | 无效removePropertyChangeListener(PropertyChangeListener侦听器) 从侦听器列表中删除 PropertyChangeListener。 | 
| 171 | void removePropertyChangeListener(String propertyName, PropertyChangeListener 侦听器) 从特定属性的侦听器列表中删除 PropertyChangeListener。 | 
| 172 | 无效重绘() 重新绘制该组件。 | 
| 173 | 无效重绘(int x,int y,int宽度,int高度) 重新绘制该组件的指定矩形。 | 
| 174 | 无效重画(长tm) 重新绘制组件。 | 
| 175 | void repaint(long tm,int x,int y,int width,int height) 在 tm 毫秒内重新绘制该组件的指定矩形。 | 
| 176 | 无效请求焦点() 请求该组件获得输入焦点,并且该组件的顶级祖先成为焦点窗口。 | 
| 177 | 受保护的布尔请求焦点(布尔临时) 请求该组件获得输入焦点,并且该组件的顶级祖先成为焦点窗口。 | 
| 178 | 布尔 requestFocusInWindow() 如果此组件的顶级祖先已经是焦点窗口,则请求此组件获得输入焦点。 | 
| 179 | protected boolean requestFocusInWindow(布尔临时) 如果此组件的顶级祖先已经是焦点窗口,则请求此组件获得输入焦点。 | 
| 180 | 无效重塑(int x,int y,int宽度,int高度) 已弃用。从 JDK 版本 1.1 开始,由 setBounds(int, int, int, int) 取代。 | 
| 181 | 无效调整大小(尺寸 d) 已弃用。从 JDK 版本 1.1 开始,由 setSize(Dimension) 取代。 | 
| 182 | 无效调整大小(int宽度,int高度) 已弃用。从 JDK 版本 1.1 开始,由 setSize(int, int) 取代。 | 
| 183 | 无效setBackground(颜色c) 设置该组件的背景颜色。 | 
| 184 | void setBounds(int x,int y,int width,int height) 移动该组件并调整其大小。 | 
| 185 | void setBounds(矩形 r) 移动该组件并调整其大小以符合新的边界矩形 r。 | 
| 186 | void setComponentOrientation(ComponentOrientation o) 设置用于排序此组件内的元素或文本的语言敏感方向。 | 
| 187 | void setCursor(光标光标) 将光标图像设置为指定的光标。 | 
| 188 | 无效 setDropTarget(DropTarget dt) 将 DropTarget 与此组件关联。 | 
| 189 | 无效setEnabled(布尔b) 启用或禁用该组件,具体取决于参数 b 的值。 | 
| 190 | void setFocusable(布尔可聚焦) 将此组件的可聚焦状态设置为指定值。 | 
| 191 | void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> 击键次数) 设置此组件的给定遍历操作的焦点遍历键。 | 
| 192 | 无效 setFocusTraversalKeysEnabled(布尔 focusTraversalKeysEnabled) 设置是否为此组件启用焦点遍历键。 | 
| 193 | 无效setFont(字体f) 设置该组件的字体。 | 
| 194 | 无效setForeground(颜色c) 设置该组件的前景色。 | 
| 195 | 无效setIgnoreRepaint(布尔忽略重绘) 设置是否应忽略从操作系统接收到的绘制消息。 | 
| 196 | 无效 setLocale(区域设置 l) 设置该组件的区域设置。 | 
| 197 | 无效设置位置(int x,int y) 将此组件移动到新位置。 | 
| 198 | void setLocation(点p) 将此组件移动到新位置。 | 
| 199 | void setMaximumSize(尺寸最大尺寸) 将此组件的最大大小设置为常量值。 | 
| 200 | void setMinimumSize(尺寸最小尺寸) 将此组件的最小大小设置为常量值。 | 
| 201 | void setName(字符串名称) 将组件的名称设置为指定的字符串。 | 
| 第202章 | void setPreferredSize(尺寸首选尺寸) 将此组件的首选大小设置为常量值。 | 
| 203 | void setSize(尺寸 d) 调整此组件的大小,使其宽度为 d.width,高度为 d.height。 | 
| 204 | void setSize(int 宽度,int 高度) 调整此组件的大小,使其具有宽度 width 和高度 height。 | 
| 205 | 无效 setVisible(布尔 b) 根据参数 b 的值显示或隐藏该组件。 | 
| 206 | 无效显示() 已弃用。从 JDK 版本 1.1 开始,由 setVisible(boolean) 取代。 | 
| 207 | 无效显示(布尔值b) 已弃用。从 JDK 版本 1.1 开始,由 setVisible(boolean) 取代。 | 
| 208 | 外形尺寸() 已弃用。从 JDK 1.1 版开始,由 getSize() 取代。 | 
| 209 | 字符串转字符串() 返回此组件及其值的字符串表示形式。 | 
| 210 | 无效转移焦点() 将焦点转移到下一个组件,就好像该组件是焦点所有者一样。 | 
| 211 | 无效转移焦点向后() 将焦点转移到前一个组件,就好像该组件是焦点所有者一样。 | 
| 212 | 无效transferFocusUpCycle() 将焦点向上转移一个焦点遍历周期。 | 
| 213 | 无效更新(图形g) 更新此组件。 | 
| 214 | 无效验证() 确保该组件具有有效的布局。 | 
| 215 | 矩形边界() 已弃用。从 JDK 1.1 版开始,由 getBounds() 取代。 | 
| 216 | 受保护的 AWTEvent合并事件(AWTEvent现有事件,AWTEvent新事件) 可能会将正在发布的事件与现有事件合并。 | 
| 217 | 受保护的字符串 paramString() 返回表示该组件状态的字符串。 | 
| 218 | protected void firePropertyChange(String propertyName,int oldValue,int newValue) 支持报告整数属性的绑定属性更改。 | 
| 219 | 尺寸首选Size() 已弃用。从 JDK 版本 1.1 开始,由 getPreferredSize() 取代。 | 
| 220 | booleanprepareImage(图像图像,ImageObserver观察者) 准备要在此组件上渲染的图像。 | 
| 221 | 尺寸最小尺寸() 已弃用。从 JDK 版本 1.1 开始,由 getMinimumSize() 取代。 | 
继承的方法
该类继承了以下类的方法:
- java.lang.Object 
AWT 标签类
介绍
标签是被动控件,因为它在被用户访问时不会创建任何事件。标签控件是Label的一个对象。标签显示单行只读文本。然而,应用程序员可以更改文本,但最终用户不能以任何方式更改。
类声明
以下是java.awt.Label类的声明:
public class Label
   extends Component
      implements Accessible
场地
以下是java.awt.Component类的字段:
- static int CENTER -- 指示标签应居中。 
- static int LEFT -- 指示标签应左对齐。 
- static int RIGHT -- 指示标签应该右对齐。 
类构造函数
| 序列号 | 构造函数及描述 | 
|---|---|
| 1 | 标签() 构造一个空标签。 | 
| 2 | 标签(字符串文本) 使用指定的文本字符串构造一个新标签,左对齐。 | 
| 3 | 标签(字符串文本,整型对齐) 构造一个新标签,以指定的对齐方式呈现指定的文本字符串。 | 
类方法
| 序列号 | 方法及说明 | 
|---|---|
| 1 | 无效addNotify() 为此标签创建对等体。 | 
| 2 | AccessibleContext getAccessibleContext() 获取与此 Label 关联的 AccessibleContext。 | 
| 3 | int getAlignment() 获取此标签的当前对齐方式。 | 
| 4 | 字符串 getText() 获取此标签的文本。 | 
| 5 | 受保护的字符串 paramString() 返回表示此标签状态的字符串。 | 
| 6 | void setAlignment(int 对齐方式) 将此标签的对齐方式设置为指定的对齐方式。 | 
| 7 | 无效setText(字符串文本) 将此标签的文本设置为指定文本。 | 
继承的方法
该类继承了以下类的方法:
- java.awt.Component 
- java.lang.Object 
标签示例
使用您选择的任何编辑器创建以下 java 程序,例如D:/ > AWT > com >tutorialspoint > gui >
AwtControlDemo.javapackage com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtControlDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   public AwtControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showLabelDemo();
   }
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);
      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());
      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showLabelDemo(){
      headerLabel.setText("Control in action: Label");      
      Label label = new Label();
      label.setText("Welcome to TutorialsPoint AWT Tutorial.");
      label.setAlignment(Label.CENTER);
      label.setBackground(Color.GRAY);
      label.setForeground(Color.WHITE);
      controlPanel.add(label);
   
      mainFrame.setVisible(true);  
   }
}
使用命令提示符编译程序。转到D:/>AWT并键入以下命令。
D:\AWT>javac com\tutorialspoint\gui\AwtControlDemo.java
如果没有报错则说明编译成功。使用以下命令运行程序。
D:\AWT>java com.tutorialspoint.gui.AwtControlDemo
验证以下输出
 
AWT 按钮类
介绍
按钮是一个具有标签并在按下时生成事件的控制组件。当按下并释放按钮时,AWT 通过调用按钮上的 processEvent 向按钮发送 ActionEvent 实例。按钮的processEvent方法接收按钮的所有事件;它通过调用自己的 processActionEvent 方法来传递动作事件。后一种方法将操作事件传递给已注册对此按钮生成的操作事件感兴趣的任何操作侦听器。
如果应用程序想要根据按下和释放的按钮执行某些操作,则应实现 ActionListener 并通过调用按钮的 addActionListener 方法注册新的侦听器以接收来自该按钮的事件。应用程序可以利用按钮的操作命令作为消息传递协议。
类声明
以下是java.awt.Button类的声明:
public class Button
   extends Component
      implements Accessible
类构造函数
| 序列号 | 构造函数及描述 | 
|---|---|
| 1 | 按钮() 构造一个按钮,其标签为空字符串。 | 
| 2 | 按钮(字符串文本) 构造一个具有指定标签的新按钮。 | 
类方法
| 序列号 | 方法及说明 | 
|---|---|
| 1 | 无效addActionListener(ActionListener l) 添加指定的操作侦听器以接收来自此按钮的操作事件。 | 
| 2 | 无效addNotify() 创建按钮的对等点。 | 
| 3 | AccessibleContext getAccessibleContext() 获取与此 Button 关联的 AccessibleContext。 | 
| 4 | 字符串 getActionCommand() 返回由此按钮触发的操作事件的命令名称。 | 
| 5 | ActionListener[] getActionListeners() 返回在此按钮上注册的所有操作侦听器的数组。 | 
| 6 | 字符串 getLabel() 获取该按钮的标签。 | 
| 7 | <T 扩展 EventListener> T[] getListeners(Class<T>listenerType) 返回当前在此 Button 上注册为 FooListener 的所有对象的数组。 | 
| 8 | 受保护的字符串 paramString() 返回表示此按钮状态的字符串。 | 
| 9 | protected void processActionEvent(ActionEvent e) 通过将事件分派到任何已注册的 ActionListener 对象来处理此按钮上发生的操作事件。 | 
| 10 | 受保护的无效 processEvent(AWTEvent e) 处理此按钮上的事件。 | 
| 11 | 无效removeActionListener(ActionListener l) 删除指定的操作侦听器,使其不再接收来自该按钮的操作事件。 | 
| 12 | 无效setActionCommand(字符串命令) 设置由此按钮触发的操作事件的命令名称。 | 
| 13 | 无效setLabel(字符串标签) 将按钮的标签设置为指定的字符串。 | 
继承的方法
该类继承了以下类的方法:
- java.awt.Component 
- java.lang.Object 
按钮示例
使用您选择的任何编辑器创建以下 java 程序,例如D:/ > AWT > com >tutorialspoint > gui >
AwtControlDemo.javapackage com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtControlDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   public AwtControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showButtonDemo();
   }
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);
      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());
      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showButtonDemo(){
      headerLabel.setText("Control in action: Button"); 
      Button okButton = new Button("OK");
      Button submitButton = new Button("Submit");
      Button cancelButton = new Button("Cancel");
      okButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            statusLabel.setText("Ok Button clicked.");
         }
      });
      submitButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            statusLabel.setText("Submit Button clicked.");
         }
      });
      cancelButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            statusLabel.setText("Cancel Button clicked.");
         }
      });
      controlPanel.add(okButton);
      controlPanel.add(submitButton);
      controlPanel.add(cancelButton);       
      mainFrame.setVisible(true);  
   }
}
使用命令提示符编译程序。转到D:/>AWT并键入以下命令。
D:\AWT>javac com\tutorialspoint\gui\AwtControlDemo.java
如果没有报错则说明编译成功。使用以下命令运行程序。
D:\AWT>java com.tutorialspoint.gui.AwtControlDemo
验证以下输出
 
AWT 复选框类
介绍
复选框控件用于打开(true)或关闭(false)选项。每个复选框都有一个标签,代表该复选框的用途。单击该复选框可以更改该复选框的状态。
类声明
以下是java.awt.Checkbox类的声明:
public class Checkbox
   extends Component
      implements ItemSelectable,Accessible
类构造函数
| 序列号 | 构造函数及描述 | 
|---|---|
| 1 | 复选框() 创建一个复选框,其标签为空字符串。 | 
| 2 | 复选框(字符串标签) 创建具有指定标签的复选框。 | 
| 3 | 复选框(字符串标签,布尔状态) 创建具有指定标签的复选框并设置指定状态。 | 
| 4 | Checkbox(字符串标签,布尔状态,CheckboxGroup组) 构造一个具有指定标签、设置为指定状态并位于指定复选框组中的复选框。 | 
| 5 | Checkbox(字符串标签、CheckboxGroup 组、布尔状态) 在指定的复选框组中创建具有指定标签的复选框,并将其设置为指定状态。 | 
类方法
| 序列号 | 方法及说明 | 
|---|---|
| 1 | 无效addItemListener(ItemListener l) 添加指定的项目侦听器以接收来自此复选框的项目事件。 | 
| 2 | 无效addNotify() 创建复选框的同级。 | 
| 3 | AccessibleContext getAccessibleContext() 获取与此复选框关联的 AccessibleContext。 | 
| 4 | CheckboxGroup getCheckboxGroup() 确定此复选框的组。 | 
| 5 | ItemListener[] getItemListeners() 返回在此复选框上注册的所有项目侦听器的数组。 | 
| 6 | 字符串 getLabel() 获取此复选框的标签。 | 
| 7 | <T 扩展 EventListener>T[] getListeners(Class<T>listenerType) 返回当前在此复选框上注册为 FooListener 的所有对象的数组。 | 
| 8 | 对象[] getSelectedObjects() 返回包含复选框标签的数组(长度为 1);如果未选中复选框,则返回 null。 | 
| 9 | 布尔值 getState() 确定此复选框是处于打开还是关闭状态。 | 
| 10 | 受保护的字符串 paramString() 返回表示此复选框状态的字符串。 | 
| 11 | 受保护的无效 processEvent(AWTEvent e) 处理此复选框上的事件。 | 
| 12 | protected void processItemEvent(ItemEvent e) 通过将项目事件分派到任何已注册的 ItemListener 对象来处理此复选框上发生的项目事件。 | 
| 13 | 无效removeItemListener(ItemListener l) 删除指定的项目侦听器,以便该项目侦听器不再接收来自此复选框的项目事件。 | 
| 14 | 无效 setCheckboxGroup(CheckboxGroup g) 将此复选框的组设置为指定的复选框组。 | 
| 15 | 无效setLabel(字符串标签) 将此复选框的标签设置为字符串参数。 | 
| 16 | void setState(布尔状态) 将此复选框的状态设置为指定状态。 | 
继承的方法
该类继承了以下类的方法:
- java.awt.Component 
- java.lang.Object 
复选框示例
使用您选择的任何编辑器创建以下 java 程序,例如D:/ > AWT > com >tutorialspoint > gui >
AwtControlDemo.javapackage com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtControlDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   public AwtControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showCheckBoxDemo();
   }
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);
      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());
      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showCheckBoxDemo(){
      headerLabel.setText("Control in action: CheckBox"); 
      Checkbox chkApple = new Checkbox("Apple");
      Checkbox chkMango = new Checkbox("Mango");
      Checkbox chkPeer = new Checkbox("Peer");
      chkApple.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {             
            statusLabel.setText("Apple Checkbox: " 
            + (e.getStateChange()==1?"checked":"unchecked"));
         }
      });
      chkMango.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            statusLabel.setText("Mango Checkbox: " 
            + (e.getStateChange()==1?"checked":"unchecked"));
         }
      });
      chkPeer.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            statusLabel.setText("Peer Checkbox: " 
            + (e.getStateChange()==1?"checked":"unchecked"));
         }
      });
      controlPanel.add(chkApple);
      controlPanel.add(chkMango);
      controlPanel.add(chkPeer);       
      mainFrame.setVisible(true);  
   }
}
使用命令提示符编译程序。转到D:/>AWT并键入以下命令。
D:\AWT>javac com\tutorialspoint\gui\AwtControlDemo.java
如果没有报错则说明编译成功。使用以下命令运行程序。
D:\AWT>java com.tutorialspoint.gui.AwtControlDemo
验证以下输出
 
AWT CheckBoxGroup 类
介绍
CheckboxGroup 类用于对 ch 集合进行分组
