swing组件用容器类组件和元素组件。
Container(容器)组件:用于管理其他界面组件的组件,例如:JFrame(窗体组件),JPanel等。
元素组件:用于构成各种用户界面的组件,例如:JLabel(标签),JTextField(文本框),JButton(按 钮)等。
任何元素组件都有一个.addActionListener(java.awt.ActionListener listener)方法,这个方法实现了接收一个实现了java.awt.ActionListener接口的对象,将这个对象加为某个对象(事件源)的事件处理器,当一般的动作事件(如按键、鼠标单击)发生时,组件(事件源)就会自动调用所加入的实现了ava.awt.ActionListener接口的对象的事件处理方法。
下面是简单示例:
1.先编写一个实现了ava.awt.ActionListener接口的类MyButtonListener
/**
* 一个简单的动作时间监听器:当时间发生时, 在命令行输出按钮上的标签文字
*/
import java.awt.event.ActionEvent;
public class MyButtonListener implements java.awt.event.ActionListener {
@Override
// 必须重写的接口中的方法:当时间发生时,这个方法被调用
public void actionPerformed(ActionEvent e) {
// 得到事件源对象
Object sour = e.getSource();
// 如果事件是一个按钮:
if (sour instanceof javax.swing.JButton) {
javax.swing.JButton bu = (javax.swing.JButton) sour;
// String lab = bu.getActionCommand();
String lab = bu.getText();
// 在这里bu.getText()与bu.getActionCommand()的效果一样
// 都是将事件源上的标签赋值给String类型的lab
System.out.println("您按下了\"" + lab+"\"按钮");
} else {
System.out.println("其他组件发出的事件!");
}
}
}
2.在编写程序入口的类
import javax.swing.JButton;
import javax.swing.JFrame;
public class Manager extends JFrame{
/**
* 主函数,程序入口
*/
public static void main(String[] args) {
//实例化对象
Manager mana = new Manager();
//调用显示窗体的方法
mana.showUI();
}
//显示窗体的方法
void showUI(){
//设置窗体的标题
this.setTitle("第一个界面程序");
//设置窗体的大小
this.setSize(340,280);
//设置窗体的流式布局
this.setLayout(new java.awt.FlowLayout());
//创建文本框
javax.swing.JTextField txt = new javax.swing.JTextField(20);
//创建按钮
JButton btn = new JButton("登陆");
this.add(txt);//把文本框添加到窗体中
this.add(btn);//把按钮添加到窗体中
//创建一个实现了addActionListener接口的对象
MyButtonListener mb = new MyButtonListener();
//给按钮添加动作事件监听器,并绑定事件处理器
btn.addActionListener(mb);
//设置窗体居中
this.setLocationRelativeTo(null);
//设置窗体关闭时退出程序
this.setDefaultCloseOperation(3);
//设置窗体可见性
this.setVisible(true);
}
}
小结:
每一个事件监听器都是一个接口,当子类实现某一个监听器接口时,子类必须重写接口中所有的方法。而有些方法是我们不需要的,所以我们可以用抽象类来作为接口和类的“适配器”,我们就可以根据自己的需要重写抽象类中的方法。
分享到:
相关推荐
Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端Java Swing组件写的游戏客户端 Java Swing组件写的游戏客户端...
本文主要介绍了基于Java swing组件实现简易计算器的知识点,以下是相关知识点的总结: 1. JFrame组件:JFrame是Java swing组件中的一种顶层容器,用于创建一个窗口框架。通过创建一个JFrame对象,可以创建一个名为...
Java Swing 组件大全 Java Swing 是 Java 语言中一个功能强大且广泛使用的图形用户界面(GUI)组件库。它提供了大量的组件和工具,用于构建复杂的桌面应用程序。本文档将对 Java Swing 中的组件进行详细的介绍和...
总之,Java Swing组件全演示旨在通过实际项目引导学习者深入理解Swing组件的使用和界面设计。通过这种方式,开发者不仅可以掌握基本组件的用法,还能培养解决问题和设计高效界面的能力。对于初学者而言,这是一条很...
【Java Swing组件在资产管理系统中的应用】 Java Swing是Java Standard Edition (Java SE)的一部分,它提供了一套丰富的用户界面组件,用于构建桌面应用程序。在资产管理系统中,Swing发挥着核心作用,创建出直观、...
在"java基于Swing组件的GUI设计"这个主题中,我们将深入探讨如何利用Swing进行GUI开发。 首先,Swing组件是轻量级的,它们大部分是用Java实现的,这使得Swing应用程序可以在不同的操作系统上保持一致的外观和行为。...
Java Swing 组件全演示源代码-Java Swing components entire demo source code
Swing组件库是基于Java AWT(Abstract Window Toolkit)的,但相比AWT,Swing组件是轻量级的,它们不依赖于操作系统提供的图形组件,这使得Swing应用具有更好的跨平台兼容性。Swing还提供了一些AWT不具备的特性,如...
这个“Java的Swing组件实现的计算器”是一个典型的Java初学者项目,用于帮助开发者了解如何使用Swing来构建桌面应用程序。下面将详细阐述Swing组件以及在创建计算器应用中的关键知识点。 首先,Swing提供了丰富的...
### Java Swing 知识总结学习笔记 #### 一、Swing 概述 Swing 是一个用于构建桌面应用程序的 Java 图形用户界面 (GUI) 工具包,它基于 Java Abstract Window Toolkit (AWT) 构建而成。Swing 提供了更丰富的组件集...
通过对这份“Java Swing 组件全演示源代码”的学习,开发者不仅能掌握每个组件的基本用法,还能了解如何将它们组合起来,创建出具有专业外观和功能的Java桌面应用。源代码中的示例将帮助你快速上手,提高编程效率,...
Java Swing 是Java标准库中的一个图形用户...在提供的压缩包文件“java组件swing打印测试”中,很可能包含了实现上述功能的示例代码或教程,你可以下载后进行学习和实践,以便更好地理解和掌握Java Swing的打印技术。
在本实验报告中,主题是“Java实验报告...通过这个实验,学生能够深入了解Java GUI编程的基本概念,学习如何使用AWT和Swing组件创建交互式应用程序,并且掌握了事件处理机制。这为开发更复杂的Java桌面应用奠定了基础。
Java Swing组件库JIDE是一个强大的开发工具,专为Java开发者设计,用于构建功能丰富的桌面应用程序。JIDE提供了许多预构建的、高度可定制的Swing组件,极大地扩展了标准Java Swing的功能。这个开源项目旨在简化GUI...
Java-GUI编程之Swing组件 Java-GUI编程之Swing组件是Java编程语言中用于构建图形用户界面的一个核心组件。Swing是Java Foundation Classes(JFC)的一个组成部分,提供了丰富的图形用户界面组件,帮助开发者快速...
Java Swing组件文件选择器JFileChooser简单用法示例 Java Swing组件文件选择器JFileChooser是Java Swing中一个功能强大且灵活的文件选择器组件,可以用来选择文件或文件夹。下面我们将通过一个简单的示例来介绍...
Java Swing 组件布局管理器之 FlowLayout(流式布局)入门教程 Java Swing 组件布局管理器中有多种布局管理器,今天我们主要介绍 FlowLayout(流式布局),它是最简单、最基础的一个布局管理器。 FlowLayout 也称为...
Java Swing 是 Java GUI(图形用户界面)开发中的一个重要部分,它是AWT(Abstract Window Toolkit)的扩展,提供了更丰富的组件库和更好的外观与感觉。在Java Swing中,开发者可以创建功能强大且美观的桌面应用程序...