在图形界面中,文本框和文本区是用于信息输入输出的组件。
文本框(JTextField)是界面中用于输入和输出一行文本的框。JTextField类用来建立文本框。与文本框相关的接口是ActionListener。
文本框处理程序的基本内容有以下几个方面:
JTextField类的主要构造方法:
JTextField类的其他方法:
【例 11-8】小应用程序有两个文本框。一个文本用于输入一个整数,另一个文本框显示这个整数的平方值。程序用字符串转基本类型的方法Long.parseLong(text1.getText()),读取文本框text1中的字符串,并将它转换成整数。程序用Sqr类的实例作为监视器,但为了让监视器能访问主类的变量,主类中的变量被声明为类变量,并且不设置访问权限。
1 import java.applet.*;import javax.swing.*;import java.awt.event.*; 2 public class J508 extends Applet{ 3 static JTextField text1,text2; 4 Sqr s=new Sqr();//创建监视器 5 public void init(){ 6 text1=new JTextField(10); 7 text2=new JTextField(10); 8 add(text1); 9 add(text2); 10 text1.addActionListener(s);//类Sqr的实例s作为text1的监视器 11 } 12 } 13 class Sqr implements ActionListener{ 14 public void actionPerformed(ActionEvent e){//实现接口ActionListener 15 if(e.getSource()==J508.text1){ 16 long n=Long.parseLong(J508.text1.getText()); 17 //将text1的文本转换成long型数据 18 J508.text2.setText(String.valueOf(n*n)); 19 //将n*n转化为字符串 20 } 21 else{} 22 } 23 }
密码框(JPasswordField)是一个单行的输入组件,与JTextField基本类似。密码框多一个屏蔽功能,就是在输入时,都会以一个别的指定的字符(一般是*字符)输出。除了前面介绍的文本框的方法外,另有一些密码框常用的方法:
文本区(JTextArea)是窗体中一个放置文本的区域。文本区与文本框的主要区别是文本区可存放多行文本。javax.swing包中的JTextArea类用来建立文本区。JTextArea组件没有事件。
文本区处理程序的基本内容有以下几个方面:
JTextArea类的主要构造方法:
JTextArea类的其他常用方法:
以下代码创建一个文本区,并设置能自动换行。
JTextArea textA = new JTextArea(“我是一个文本区”,10,15);
textA.setLineWrap(true);//设置自动换行
当文本区中的内容较多,不能在文本区全部显示时,可给文本区配上滚动条。给文本区设置滚动条可用以下代码:
1 JTextArea ta = new JTextArea(); 2 JScrollPane jsp = new JScrollPane(ta);//给文本区添加滚动条