Java图形界面编程:内部类实现监听接口
需积分: 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图形用户界面至关重要。
566 浏览量
2008-05-30 上传
2007-04-10 上传
点击了解资源详情
166 浏览量
770 浏览量
点击了解资源详情
点击了解资源详情
187 浏览量
永不放弃yes
- 粉丝: 917
- 资源: 2万+
最新资源
- android-showcase
- 科巴
- nacos-2.2.4
- Resume-and-Cover-Letter:我用 HTML 和求职信生成器编写的简历版本。 在此处查看简历导出
- Form-2
- 新人培训课程体系
- PicBed:用于在md中上传图片
- homu.homu-api
- 客户投诉处理管理规定
- 盖茨比·卡斯珀
- rt-thread-code-stm32f407-st-discovery.rar,stm32f407-st-discovery
- gadoory
- 电子功用-开关型直流-直流电源转换器
- Circall:Circall是一种从配对末端RNA测序数据中发现环状RNA的新颖方法
- SETView:实现 NewsAPI 以与技术新闻交互并显示技术新闻的 Web 应用程序
- java调用dll详解.rar