J2SE第十一章——GUI(匿名内部类)

本文介绍了一个使用Java Swing创建简单GUI应用程序的例子,并演示了如何使用内部类来实现按钮点击事件监听器。此外,还展示了如何利用匿名内部类简化代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内部类   $表示内部类

         实现接口的类的安全性大大提升

import java.awt.*;
import java.awt.event.*;

public class TestFolwLayout {
	public static void main(String[] args) {
		new TestFolwLayout().launch();
	}

	public void launch() {

		Frame f = new Frame("BorderLayout");

		Button bn = new Button("BN");
		f.add(bn);
		bn.addActionListener(new MyListener());

		f.setSize(200,200);
		f.setVisible(true);
	} 

	class MyListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent e) {
			System.out.println("Hello");
		}
	}
}

内部类小特性:

                   内部类被编译生成的字节码文件名字会改变:外部类名$内部类名

匿名内部类

         不想产生多余的监听器类对象:

                   之所以能产生n个监听器类对象,是因为定义了监听器类

         解决:如果只生成一个监听器接口对象,就不需要单独定义监听器类

                   语法:

                            事件源.add监听器接口(new 监听器接口() {})

import java.awt.*;
import java.awt.event.*;

public class TestListener {
	public static void main(String[] args) {
		Frame f = new Frame("BorderLayout");

		Button bn = new Button("Bn");
		f.add(bn);

		bn.addActionListener(new ActionListener() {
		@Override
			public void actionPerformed(ActionEvent e) {
				System.out.println("Hello");
			}	
		});

		f.setSize(200,200);
		f.setVisible(true);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值