【Java GUI】文本框和文本区

本文介绍了Java Swing中的文本框(JTextField)和文本区(JTextArea)的使用方法及属性设置,包括如何创建文本框和文本区、设置字体、监听输入事件、获取和设置文本等。

文本框

文本框(JTextField)是界面中用于输入和输出一行文本的框。JTextField类用来建立文本框。与文本框相关的接口是ActionListener。

文本框处理程序的基本内容有以下几个方面:
①声明一个文本框名。
②建立一个文本框对象。
③将文本框对象加入到某个容器。
④对需要控制的文本框对象注册监视器,监听文本框的输入结束(即输入回车键)事件。
⑤一个处理文本框事件的方法,完成对截获事件进行判断和处理。

JTextField类的主要构造方法

JTextField();//文本框的字符长度为1
JTextField(int columns);//初始值为空字符串,文本框的字符长度设为columns
JTextField(String text);//文本框初始值为text的字符串
JTextField(String text,int columns);//文本框初始值为text,文本框的字符长度为columns

JTextField类的其他方法:

setFont(Font f);//设置字体
setText(String text);//在文本框中设置文本
getText();//获取文本框中的文本
setEditable(boolean);//指定文本框的可编辑性,默认为true
addActionListener(ActionListener);//为文本框设置动作监视器,指定ActionListener对象接受该文本框上发生的输入结束动作事件
//小应用程序有两个文本框,一个文本用于输入一个整数,另一个文本框显示这个整数的平方。程序用字符串转基本类型的方法Long.parseLong(text1.getText()) 读取文本框text1中的字符串,并将它转换成整数,程序用Sqr类的实例作为监视器,但为了让监视器能访问主类的变量,主类中的变量被声明为类变量,并且不设置访问权限。
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
public class Test extends Applet {
    static JTextField text1,text2;
    Sqr s = new Sqr();//创建监视器
    public void init() {
        text1 = new JTextField(10);
        text2 = new JTextField(10);
        add(text1);
        add(text2);
        text1.addActionListener(s);
    }
}
class Sqr implements ActionListener {
    public void actionPerformed(ActionEvent e) {//实现接口ActionListener
        if(e.getSource() == Test.text1) {
            //将text1的文本转换成long型数据
            long n = Long.parseLong(Test.text1.getText());
            //将n*n转化为字符串
            Test.text2.setText(String.valueOf(n*n));
        }
    }
}

文本区

文本区(JTextArea)是窗体中一个放置文本的区域。文本区与文本框的主要区别是文本区可以存放多行文本。

文本区处理程序的基本内容有以下几个方面:
声明一个文本区名。
建立一个文本区对象。
将文本区对象加入到某个容器。

JTextArea类的主要构造方法:
JTextArea(),以默认的列数和行数,创建一个文本区对象。
JTextArea(String s),以s为初始值,创建一个文本区对象。
JTextArea(Strings ,int x,int y),以s为初始值,行数为x,列数为y,创建一个文本区对象。
JTextArea(int x,int y)以行数为x,以列数为y,创建一个文本区对象。

JTextArea类的其他常用方法:
setText(String s),设置显示文本,同时清除原有文本。
getText(),获取文本区的文本。
insert(String s,int x),在指定的位置插入指定的文本。
replace(String s,int x,int y),用给定的一替换从x位置开始到y位置结束的文本。
append(String s),在文本区追加文本。
getCarePosition(),获取文本区中活动光标的位置。
setCarePosition(int n),设置活动光标的位置。
setLineWrap(boolean b),设置自动换行,缺省情况,不自动换行。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值