TextField类

1、 TextField类:java.awt.TextField类用来创建文本框对象
2、 TextField事件监听:TextField对象可能发生Action(光标在文本框内敲回车)事件,与该事件对应的事件类是java.awt.event.ActionEvent、用来处理ActionEvent事件是实现了java.awt.event.ActionListener接口的类的对象,ActionListener接口定义方法:public void actionPerformed(ActionEvent e)、实现该接口的类要在该方法中添加处理该事件(Action)的语句、使用addActionListen(ActionListener l)方法为TextField对象注册一个ActionListener对象,当TextField对象发生Action事件时,会生成一个ActionEvent对象,该对象作为参数传递给ActionListener对象的actionPerformer方法在方法中可以获取该对象的信息,并做相应的处理(TFActionEvent.java、TFPassword.java 、 TFMath.java)
import java.awt.*;
import java.awt.event.*;

public class TFActionEvent {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new TFFrame();
}

}

@SuppressWarnings("serial")
class TFFrame extends Frame
{
TFFrame()
{
TextField tf = new TextField();
add(tf); //将tf添加到Frame中
tf.addActionListener(new TFActionListener());//
pack();
setVisible(true);
}
}

class TFActionListener implements ActionListener //监听器类
{
public void actionPerformed(ActionEvent e)
{
TextField tf = (TextField)e.getSource();//
System.out.println(tf.getText());
tf.setText("");
}
}

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

public class TFPassword {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new TFFrame2();
}

}

@SuppressWarnings("serial")
class TFFrame2 extends Frame
{
TFFrame2()
{
TextField tf = new TextField();
add(tf);
tf.addActionListener(new TFActionListener2());
tf.setEchoChar('*'); //设置回旋字符
pack();
setVisible(true);
}
}

class TFActionListener2 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
TextField tf = (TextField)e.getSource();
System.out.println(tf.getText());
tf.setText("");
}
}

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

public class TFMath {
public static void main(String[] args) {
new TFFrame1().launchFrame();
}
}

@SuppressWarnings("serial")
class TFFrame1 extends Frame {
TextField num1, num2, num3; //成员变量,可以让其他类使用

public void launchFrame() {
num1 = new TextField(10); //设置文本框宽度
num2 = new TextField(10);
num3 = new TextField(15);
Label lblPlus = new Label("+"); //创建标签,局部变量
Button btnEqual = new Button("=");
btnEqual.addActionListener(new MyMonitor());
setLayout(new FlowLayout());
add(num1);
add(lblPlus);
add(num2);
add(btnEqual);
add(num3);
pack();
setVisible(true);
}

private class MyMonitor implements ActionListener {//内部类,注意定义位置
public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
num3.setText("" + (n1+n2));
}
}

}


//class MyMonitor implements ActionListener {
/*TextField num1, num2, num3;
//直接传入参数
public MyMonitor(TextField num1, TextField num2, TextField num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}

public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
num3.setText("" + (n1+n2));
}
*/
/*
TFFrame tf = null; //对TFFrame引用

public MyMonitor(TFFrame tf) {
this.tf = tf;
}

public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(tf.num1.getText());
int n2 = Integer.parseInt(tf.num2.getText());
tf.num3.setText("" + (n1+n2));
}
}
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值