JAVA图形编程:使用监听接口操作AWT容器

需积分: 0 2 下载量 39 浏览量 更新于2024-08-18 收藏 612KB PPT 举报
"Java图形编程中的事件监听与容器类应用" 在Java图形化编程中,事件监听是一个重要的概念,它允许程序对用户的交互行为做出响应。在这个例子中,我们看到如何将一个容器类(`EventTester2`)实现`ActionListener`接口,从而成为一个事件监听器。`EventTester2`继承自`Frame`类,`Frame`是AWT库中的一个容器类,可以容纳其他组件,并且是一个独立的窗口。 `EventTester2`的构造函数初始化了窗口标题、布局管理器、一个按钮`b`以及设置了窗口的大小和背景颜色。关键在于`b.addActionListener(this)`这行代码,它将当前类`EventTester2`注册为按钮`b`的`ActionListener`,意味着当用户点击按钮时,`EventTester2`会接收到`ActionEvent`。 `actionPerformed(ActionEvent evt)`方法是`ActionListener`接口规定的,当按钮被点击时,这个方法会被调用。在这个例子中,它更新按钮的标签,将其转换为一个新的整数(`count`加1),并显示出来。 关于AWT容器,它们是Java图形化用户界面(GUI)的基础,可以包含其他的组件。有两种主要类型的容器:`Window`和`Panel`。`Window`容器包括`Frame`和`Dialog`,它们是顶级容器,可以直接显示在屏幕上。`Frame`是`Window`的一个子类,用于创建带有标题栏和边框的窗口,可以通过`add()`方法添加组件,如按钮。在`FrameShower.java`示例中,创建了一个`Frame`并添加了一个按钮。 另一方面,`Panel`容器不能独立存在,必须嵌套在其他容器(如`Window`或`Frame`)中。`Panel`没有自己的标题和边框,但可以作为组件的容器。在`MyFrame.java`中,创建了一个`MyFrame`类,它扩展了`Frame`,并在其中添加了一个`Panel`,面板上有一个按钮。 布局管理器在Java GUI中扮演着组织和调整组件位置的角色。`BorderLayout`是`Window`、`Frame`和`Dialog`的默认布局管理器,它将组件按照东、南、西、北、中五个区域进行布置。如果想要取消布局管理器,可以使用`setLayout(null)`,这样组件的位置就需要手动指定。 在Java的图形化编程中,理解容器类、事件监听和布局管理器的概念对于创建用户友好的界面至关重要。通过这些基础,开发者能够构建出复杂、响应用户操作的应用程序。