GUI事件模型ActionEvent举例,TextField事件监听举例
2014-04-02 17:09
393 查看
/* 范例名称: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());
}
}
Sets the command name for the action event fired by this button. By default this action command is set to match the label of the button.
Parameters:
/* 范例名称: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()方法说明:
The object on which the Event initially occurred.
Returns:The object on which the Event initially occurred.
/* 范例名称: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());
}
}
D:\mytest\java\GUI>java TestActionEvent2 a button has been pressed,the relative info is: Start a button has been pressed,the relative info is: game over API文档setActionCommand方法说明: |
public void setActionCommand(String command)
Sets the command name for the action event fired by this button. By default this action command is set to match the label of the button.
Parameters:
command- a string used to set the button's action command. If the string is
nullthen 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()
The object on which the Event initially occurred.
Returns:The object on which the Event initially occurred.
相关文章推荐
- 马士兵 J2SE 第11章 GUI编程 事件模型ACTIONEVENT TEXTFIELD事件监听 内部类 PAINT adapter和repaint window事件 键盘事件
- GUI 事件监听模型 Button的addActionListener(ActionListener l)方法很关键
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
- SurfaceView监听不到MotionEvent.ACTION_MOVE和MotionEvent.ACTION_UP事件的解决办法
- Extjs TextField 同步输入 监听事件
- GUI_事件监听机制原理概述及举例
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- iOS swift3.0 监听textField和textView的键盘事件
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- Ext.关于textfield的键盘事件的监听
- 如何限制UITextField输入长度(监听textField文本变化的事件)
- 黑马程序员:GUI介绍:布局管理器、Frame、事件监听机制、Action事件、鼠标键盘事件、菜单、jar包的双击执行
- EditText中onEditorAction监听事件执行两次
- GUI编程笔记(java)05:GUI事件监听机制原理和举例说明
- EditText监听事件setOnEditorActionListener onEditorAction执行两次
- 点击textField,监听键盘事件实现页面上移
- 黑马程序员_温习 GUI图形用户接口一 (个人笔记)摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键
- Android TextView实现带链接文字事件监听的三种常用方式示例