java学习——57.按钮事件

一个类中可以有多个按钮,每个按钮都可以注册动作事件监听,那么如何区分是单击了哪个按钮呢?

Java中用getSource()方法来判断事件源。

如下列所示,有三个按钮,点击任意按钮,文本行中的文字随之而改变。

package learn;

import java.awt.*;

import java.awt.event.*;

public class ButtonEvent extends Frame implements ActionListener{

TextField t;

Button b1,b2,b3;

public ButtonEvent(){

super("按钮事件");

this.setVisible(true);

this.setLocationRelativeTo(null);

this.setSize(220, 100);

this.setLayout(new GridLayout(2,1));

Panel top=new Panel();

this.add(top,"North");

Panel center=new Panel();

this.add(center);

t=new TextField("张熹熹",20);

t.setEditable(false);

top.add(t);

b1=new Button("点我");

b1.addActionListener(this);//注册动作事件监听接口

b2=new Button("点我呀");

b2.addActionListener(this);//注册动作事件监听接口

b3=new Button("点我点我吧");

b3.addActionListener(this);//注册动作事件监听接口

center.add(b1);

center.add(b2);

center.add(b3);

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});//关闭窗口

}

public void actionPerformed(ActionEvent ev){

if(ev.getSource()==b1)//如果按下名为b1的按钮

t.setText("你好呀,小朋友 ");

if(ev.getSource()==b2)//如果按下名为b1的按钮

t.setText("欢迎来到Java的世界");

if(ev.getSource()==b3)//如果按下名为b1的按钮

t.setText("哇哈哈哈,成功了吧");

}

public static void main(String args[]){

new ButtonEvent();

}

}

其运行结果如图所示:

点击第一个按钮“点我”,文本行中的文字会修改,如图所示:

点击第二个按钮“点我呀”,文本行中的文字又会修改,如图所示:

点击第三个按钮“点我点我吧”,文本行中的文字也会被修改,如图所示:

本例主要通过事件源的getSource()方法来区分按钮,很多组件都有动作事件,均可以以此方法来区分事件源。

按钮事件到底要完成什么样的功能,根据具体程序的要求来确定,可以是打开新的窗口,可以是如本例所示修改文本行的值,也可以是其他的,这就见仁见智咯…

除了按钮外,其他的组件有些也有自己的事件,将在swing之后再慢慢介绍。

(0)

相关推荐