Java图形界面编程:内部类实现监听接口

需积分: 9 9 下载量 165 浏览量 更新于2024-07-13 收藏 612KB PPT 举报
"本文将探讨如何在Java图形界面编程中使用内部类实现监听接口,以及介绍AWT中的容器、Frame和Panel,以及布局管理器的概念。" 在Java GUI编程中,事件处理是至关重要的,它允许用户与界面进行交互。内部类(也称为匿名类)在这里起到了关键作用,因为它允许我们轻松地实现监听接口,如ActionListener。在给定的代码示例`EventTester1`中,我们看到如何创建一个按钮,并使用内部类来响应用户的点击事件。 首先,`EventTester1`继承自`Frame`类,`Frame`是AWT库中的一个窗口容器,它可以包含其他组件。通过调用`super(title)`构造函数,我们可以设置窗口的标题。然后,我们创建了一个`Button`实例`b`,并添加了一个`ActionListener`。这里的内部类实现了`ActionListener`接口,当用户点击按钮时,`actionPerformed`方法会被调用,更新按钮的标签显示点击次数。 ```java b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ b.setLabel(new Integer(++count).toString()); } }); ``` 这段代码创建了一个匿名内部类,实现了`ActionListener`接口,当按钮被点击时,`actionPerformed`方法中的代码会执行,将按钮的标签更新为递增的计数器值。 接下来,我们讨论AWT容器。容器是其他组件的容器,它们可以是`Window`(如`Frame`)或`Panel`。`Frame`是顶级容器,可以独立显示,而`Panel`则需要嵌套在其他容器内。例如,`FrameShower.java`展示了如何创建一个简单的`Frame`,并添加一个按钮。`MyFrame.java`展示了如何在`Frame`中添加一个`Panel`,并在`Panel`上放置一个按钮,同时设置背景颜色。 布局管理器是决定组件在容器中如何排列的重要工具。在Java AWT中,每个容器都有一个默认的布局管理器。例如,`Frame`、`Window`和`Dialog`的默认布局管理器是`BorderLayout`,它将组件按照北、南、东、西、中心五个区域进行布局。如果希望禁用布局管理器,可以调用`setLayout(null)`,这样就可以手动设置组件的位置和大小。 在`MyFrame.java`中,虽然没有显式设置布局管理器,但默认的`BorderLayout`仍然在起作用。如果你想要自定义布局,可以使用其他的布局管理器,如`FlowLayout`(在`EventTester1`中使用),`GridLayout`,`CardLayout`等。 总结来说,内部类在Java GUI编程中提供了简洁的事件处理机制,而AWT容器如`Frame`和`Panel`则是构建用户界面的基础。了解和掌握这些概念,以及布局管理器的使用,对于创建功能丰富的Java图形用户界面至关重要。