在图形界面中,文本框和文本区是用于信息输入输出的组件。

文本框

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

文本框处理程序的基本内容有以下几个方面:

  1. 声明一个文本框名。
  2. 建立一个文本框对象。
  3. 将文本框对象加入到某个容器。
  4. 对需要控制的文本框对象注册监视器,监听文本框的输入结束(即输入回车键)事件。
  5. 一个处理文本框事件的方法,完成对截获事件进行判断和处理。

JTextField类的主要构造方法:

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

JTextField类的其他方法:

  1. setFont(Font f),设置字体
  2. setText(String text),在文本框中设置文本
  3. getText(),获取文本框中的文本。
  4. setEditable(boolean),指定文本框的可编辑性,默认为true,可编辑。
  5. setHorizontalAlignment(int alignment)设置文本对齐方式。对齐方式有:JTextField.LEFT, JTextField.CENTER, JTextField.RIGHT。
  6. requestFocus(),设置焦点。
  7. addActionListener(ActionListener ),为文本框设置动作监视器,指定ActionListener对象接收该文本框上发生的输入结束动作事件。
  8. removeActionListener(ActionListener)移去文本框监视器。
  9. getColumns(),返回文本框的列数。
  10. getMinimumSize(),返回文本框所需的最小尺寸。
  11. getMinimumSize(int), 返回文本框在指定的字符数情况下,所需的最小尺寸。
  12. getPreferredSize(),返回文本框希望具有的尺寸。
  13. getPreferredSize(int),返回文本框在指定字符数情况下,希望具有的尺寸。

【例 11-8】小应用程序有两个文本框。一个文本用于输入一个整数,另一个文本框显示这个整数的平方值。程序用字符串转基本类型的方法Long.parseLong(text1.getText()),读取文本框text1中的字符串,并将它转换成整数。程序用Sqr类的实例作为监视器,但为了让监视器能访问主类的变量,主类中的变量被声明为类变量,并且不设置访问权限。

 import java.applet.*;import javax.swing.*;import java.awt.event.*;
public class J508 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);//类Sqr的实例s作为text1的监视器
}
}
class Sqr implements ActionListener{
public void actionPerformed(ActionEvent e){//实现接口ActionListener
if(e.getSource()==J508.text1){
long n=Long.parseLong(J508.text1.getText());
//将text1的文本转换成long型数据
J508.text2.setText(String.valueOf(n*n));
//将n*n转化为字符串
}
else{}
}
}

密码框(JPasswordField)是一个单行的输入组件,与JTextField基本类似。密码框多一个屏蔽功能,就是在输入时,都会以一个别的指定的字符(一般是*字符)输出。除了前面介绍的文本框的方法外,另有一些密码框常用的方法:

  1. getEchoChar(),返回密码的回显字符。
  2. setEchoChar(char),设置密码框的回显字符。

文本区

文本区(JTextArea)是窗体中一个放置文本的区域。文本区与文本框的主要区别是文本区可存放多行文本。javax.swing包中的JTextArea类用来建立文本区。JTextArea组件没有事件。

文本区处理程序的基本内容有以下几个方面:

  1. 声明一个文本区名。
  2. 建立一个文本区对象。
  3. 将文本区对象加入到某个容器。

JTextArea类的主要构造方法:

  1. JTextArea(),以默认的列数和行数,创建一个文本区对象。
  2. JTextArea(String s),以s为初始值,创建一个文本区对象。
  3. JTextArea(Strings ,int x,int y),以s为初始值,行数为x,列数为y,创建一个文本区对象。
  4. JTextArea(int x,int y)以行数为x,以列数为y,创建一个文本区对象。

JTextArea类的其他常用方法:

  1. setText(String s),设置显示文本,同时清除原有文本。
  2. getText(),获取文本区的文本。
  3. insert(String s,int x),在指定的位置插入指定的文本。
  4. replace(String s,int x,int y),用给定的一替换从x位置开始到y位置结束的文本。
  5. append(String s),在文本区追加文本。
  6. getCarePosition(),获取文本区中活动光标的位置。
  7. setCarePosition(int n),设置活动光标的位置。
  8. setLineWrap(boolean b),设置自动换行,缺省情况,不自动换行。

以下代码创建一个文本区,并设置能自动换行。
    JTextArea textA = new JTextArea(“我是一个文本区”,10,15);
    textA.setLineWrap(true);//设置自动换行
当文本区中的内容较多,不能在文本区全部显示时,可给文本区配上滚动条。给文本区设置滚动条可用以下代码:

     JTextArea ta = new JTextArea();
JScrollPane jsp = new JScrollPane(ta);//给文本区添加滚动条

系列文章:

Java知多少(85)文本框和文本区的更多相关文章

  1. Java知多少(86)文本框和文本区的输入输出

    在GUI中,常用文本框和文本区实现数据的输入和输出.如果采用文本区输入,通常另设一个数据输入完成按钮.当数据输入结束时,点击这个按钮.事件处理程序利用getText()方法从文本区中读取字符串信息.对 ...

  2. 十. 图形界面(GUI)设计7.文本框和文本区的输入输出

    在GUI中,常用文本框和文本区实现数据的输入和输出.如果采用文本区输入,通常另设一个数据输入完成按钮.当数据输入结束时,点击这个按钮.事件处理程序利用getText()方法从文本区中读取字符串信息.对 ...

  3. 十. 图形界面(GUI)设计6.文本框和文本区

    在图形界面中,文本框和文本区是用于信息输入输出的组件. 文本框 文本框(JTextField)是界面中用于输入和输出一行文本的框.JTextField类用来建立文本框.与文本框相关的接口是Action ...

  4. Java知多少(87)选择框和单选按钮(转)

    选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...

  5. Java知多少(87)选择框和单选按钮

    选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...

  6. Java知多少(88)列表和组合框

    列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择. 列表 列表(JList)在界面中表现为列表框,是JList类或它的子类的对象.程序可以在列表框中加入多个文 ...

  7. Java知多少(89)列表和组合框

    有两种类型的菜单:下拉式菜单和弹出式菜单.本章只讨论下拉式菜单编程方法.菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的.菜单与JComboBox的相同之处是每次只可选择一个 ...

  8. Java知多少(完结篇)

    Java知多少(1)语言概述 Java知多少(2)虚拟机(JVM)以及跨平台原理 Java知多少(3) 就业方向 Java知多少(4)J2SE.J2EE.J2ME的区别 Java知多少(5) Java ...

  9. Java知多少(下)

    Java知多少(78)Java向量(Vector)及其应用 Java知多少(79)哈希表及其应用 Java知多少(80)图形界面设计基础 Java知多少(81)框架窗口基础 Java知多少(82)标签 ...

随机推荐

  1. luogu P4178 Tree

    题目链接 luogu P4178 Tree 题解 点分治 代码 // luogu-judger-enable-o2 #include<cstdio> #include<algorit ...

  2. 宝塔Linux面板 5.1正式版永久免费

    宝塔Linux面板 5.1正式版永久免费2017/06/16 2分钟装好面板,一键管理服务器 Linux版请确保纯净系统安装(支持CentOS.Ubuntu.Debian.Fedora),Web端管理 ...

  3. 搞IT,算法编程不错的学习网址 & 一些专栏博客大神的地址(汇总)

    博客专栏大神 王晓华(算法的乐趣) 算法系列:http://blog.csdn.net/orbit/article/category/830251 PostgreSQL深入理解内核系列:http:// ...

  4. PHP 实现 word/excel/ppt 转换为 PDF

    前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件. 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在 ...

  5. Windows下USB磁盘开发系列一:枚举系统中U盘的盘符

    个时候我们需要区分系统磁盘中,哪些是U盘,这样我们在访问的时候可以区别对待.具体方法如下: 1,调用GetLogicalDrives()返回系统盘符标记位 API GetLogicalDrives() ...

  6. block 相关清单

    对Objective-C中Block的追探  李博士

  7. Global Mapper如何加载在线地图

    Global Mapper是一个比较好用的GIS数据处理软件,官网:http://www.bluemarblegeo.com/products/global-mapper.php ,除使用ArcGIS ...

  8. Data Structure Visualizations

    https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

  9. String为什么是不可变的?

    面试官Q1:请问为什么String是不可变的,能谈谈吗? 我们知道不管是面试初级.中级还是高级Java开发工程师,String永远都是一个绕不开的话题,而且问的问题也是各不相同,下面我们从几个角度来看 ...

  10. 【C#】C#对Excel表的操作

    目录结构: contents structure [+] Microsoft.Office.Interop.Excel.Application Aspose.cell插件 1.Microsoft.Of ...