菜鸟学JAVA之事件

本文介绍了JAVA中事件的使用,包括实现接口、添加监听器以及重写相关方法,旨在帮助初学者理解如何通过事件增强GUI应用的功能,如按钮和标签的交互操作。
摘要由CSDN通过智能技术生成

我们通过JFrame可以构建出一个窗体,然而窗体的很多部分还得好好完善,比如说我们想通过点击相关的按钮,标签,来实现相关的功能。而这就需要用到事件。如果我们想完善窗口的布局,让它看上去更加美观。这就需要用到布局。而本篇,我们将给大家讲述的是事件的使用。


JAVA中的事件


java中的事件在“ java.awt.event”与“ javax.swing.event”中,一般我们通过使用java.awt.event就足够了。因为这个包中,有我们所需的ActionListener,MouseListener,MouseMotionListener等。
本文将介绍ActionListener的使用,因为其他事件的使用方法可以举一反三,因此不累述。
建议大家多查阅API: http://docs.oracle.com/javase/7/docs/api/

事件的使用

由于事件提供的是个接口,所以我们一般得利用接口的使用来来实现。

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Jframe3 extends JFrame implements ActionListener {
        //通过实现接口来使用ActionListener
	JButton jb1,jb2,jb3;
	JLabel jl1;
	JPanel pan=new JPanel();
	
	Jframe3 (String s){
		super(s);
		this.setSize(200,200);
		this.setLocationRelativeTo(null);
		this.setContentPane(pan);
		
		jb1=new JButton("早上好");               //汉语
		jb1.addActionListener(this);             //加入监听
		jb2=new JButton("Good morning");         //英语
		jb2.addActionListener(this);
		jb3=new JButton("Guten Morgen");         //德语
		jb3.addActionListener(this);
		jl1=new JLabel();
		
		pan.add(jb1);
		pan.add(jb2);
		pan.add(jb3);
		pan.add(jl1);
		
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
	
	public void actionPerformed (ActionEvent e){
		//重写actionPerformed来实现相应的功能。
		if (e.getSource()==jb1)
			jl1.setText(jb1.getActionCommand());
		if (e.getSource()==jb2)
			jl1.setText(jb2.getActionCommand());
		if (e.getSource()==jb3)
			jl1.setText(jb3.getActionCommand());
	}
	
}
import java.awt.*;
import javax.swing.*;

public class abc {

	public static void main(String[] args) {
		Jframe3 jf =new Jframe3 ("%David_Loman%:早上好");
		
	}

}
我们通过派生一个新的JFrame类,同时使用ActionListener,完成了当我们点击不同按钮时,便签上显示不同的文字。
由此可以看出事件的使用有以下三步:
实现接口
public class Jframe3 extends JFrame implements ActionListener
加入监听
	jb1.addActionListener(this);             //加入监听
重写相关的方法
	public void actionPerformed (ActionEvent e){
		//重写actionPerformed来实现相应的功能。
		if (e.getSource()==jb1)
			jl1.setText(jb1.getActionCommand());
		if (e.getSource()==jb2)
			jl1.setText(jb2.getActionCommand());
		if (e.getSource()==jb3)
			jl1.setText(jb3.getActionCommand());
	}
以上便是事件的使用了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值