本文主要是介绍GUI事件模型ActionEvent举例,TextField事件监听举例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/* 范例名称:Java事件处理举例
* 源文件名称:TestActionEvent.java
* 要 点:
* 1. Java事件处理机制
* 2. 事件源、事件监听器概念及作用
* 3. 如何在一个现有组件上注册监听器
*/
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent {
public static void main(String args[]) {
Frame f = new Frame("Test");
Button b = new Button("Press Me!");
Monitor bh = new Monitor();
b.addActionListener(bh);
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}
class Monitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("a button has been pressed");
}
}
在API文档里面查找packages为java.awt,找到Button这个类,有个方法addActionListener(ActionListener l)
在java.awt.event包里,有一个接口ActionListener(事件监听器的意思)当监听器监听到某事件发生时,调用actionPerformerd(ActionEvent e)方法
/* 范例名称:Java事件处理举例
* 源文件名称:TestActionEvent2.java
* 要 点:
* 1. 一个事件源组件上可以同时注册多个监听器
* 2. 一个监听器对象可以同时注册到多个事件源组件上
* 3. 事件源的信息可以随它所触发的事件自动传递到所有注册过的监听器
*/
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent2 {
public static void main(String args[]) {
Frame f = new Frame("Test");
Button b1 = new Button("Start");
Button b2 = new Button("Stop");
Monitor2 bh = new Monitor2();
b1.addActionListener(bh); //一个监听器监听两个按钮
b2.addActionListener(bh);
b2.setActionCommand("game over");
f.add(b1,"North");
f.add(b2,"Center");
f.pack();
f.setVisible(true);
}
}
class Monitor2 implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("a button has been pressed," +
"the relative info is:\n " + e.getActionCommand());
}
}
|
|
public void setActionCommand(String command)
- Parameters:
-
command
- a string used to set the button's action command. If the string isnull
then the action command is set to match the label of the button. -
/* 范例名称:Java事件处理举例
* 源文件名称:TFActionEvent.java
* 要 点:
* 1.Java事件处理机制
* 2.getSource()
* 3.setText(" ");
* 4.tf.setEchoChar('*');TextField里面显示为*
*/
TextField事件监听举例:
import java.awt.*;
import java.awt.event.*;
public class TFActionEvent {
public static void main(String[] args) {
new TFFrame();
}
}
class TFFrame extends Frame
{
TFFrame()
{
TextField tf = new TextField();
add(tf);
tf.addActionListener(new TFActionListener());
pack();
setVisible(true);
}
}
class TFActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
TextField tf = (TextField)e.getSource();//getSource()拿到事件源,在一个类里面想访问另一个类的事件源对象
System.out.println(tf.getText());
tf.setText("");//回车后TextFiled为空
}
}
API文档中java.awt.event包里面ActionEvent类里面父类方法Methods inherited from class java.util.EventObject
getSource()方法说明:
public Object getSource()
- Returns:
- The object on which the Event initially occurred.
这篇关于GUI事件模型ActionEvent举例,TextField事件监听举例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!