[2017年计算机二级考试时间]2017年计算机二级考试java章节辅导:文本输入

副标题:2017年计算机二级考试java章节辅导:文本输入

时间:2023-12-18 12:35:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

8.3 文本输入

在java中,能够用于文本输入的组件包括JTextField(文本框)、JTextArea(文本区)以及 JPasswordField(密码框),JLabel(标签)不支持文本输入,但可以容纳文本。

8.3.1 JTextFileld 文本框

JTextField文本框是一个允许编辑单行文本的swing组件,JTextField提供了多个构造方法用于创建JTextField对象。具体见下表8-3。

表8-3 JTextField构造方法

构造方法

说明

public JTextField()

构造一个新的 TextField。初始字符串为 null,列数为 0

public JTextField(Stringtext)

构造一个用指定文本初始化的新TextField。列数为 0

public JTextField(intcolumns)

构造一个具有指定列数的新的空TextField。初始字符串为 null。

public JTextField
(Stringtext,intcolumns)

构造一个用指定文本和列初始化的新 TextField。text:文本值,columns:列数

JTextField有两个重要的方法setText(String t)和getText()分别用于设置文本框的显示文本和获取当前文本框的文本。不过这两个方法都不是JTextField本身提供的方法,而是其父类JTextComponent所提供的。

JTextField类可引发ActionEvent事件,当用户在文本框中按下回车键时触发。

8.3.2 JTextArea 文本区

JTextArea文本区是一个允许编辑多行文本的swing组件,JTextArea提供了多个构造方法用于创建JTextArea对象。具体见下表8-4。

表8-4 JTextArea构造方法

构造方法

说明

JTextArea()

构造新的 TextArea。初始字符串为 null,行/列设置为 0。

JTextArea(Stringtext)

构造显示指定文本的新的 TextArea。行/列设置为 0

JTextArea(introws,
intcolumns)

构造具有指定行数和列数的新的空 TextArea。初始字符串为 null

JTextArea(Stringtext,
introws,intcolumns)

构造具有指定文本、行数和列数的新的 TextArea。text:文本值,rows:行数,columns:列数

因为JTextArea是JTextComponent的直接子类,因此与JTextField一样,也可以通过setText(String t)和getText()方法设置和获取文本区的文本值。

JTextArea类可引发ActionEvent事件,当用户在文本区中按下回车键时触发。

8.3.3 JPasswordField密码框

在AWT组件中,并没有单独的密码框组件,而是通过TextField的一个setEchoChar()方法来得到密码框,但在Swing中则单独通过一个类JPasswordField来表示。密码框是文本框JTextField组件的简单扩展。因此,其构造方法与JTextField相类似,这里不再介绍。JPasswordField类中有几个重要方法,如下:

表8-5 JPasswordField类常用构造方法

成员方法

说明

public char[] getPassword()

获得密码的字符数组表示,用来替代getText()方法

public void setEchoChar(charc)

设置此 JPasswordField 的回显字符

public char getEchoChar()

返回要用于回显的字符


 

8.3.4 JLabel标签

JLabel是一个静态组件,该组件可以显示一行静态文本,一般只是一个说明性的文字,而不接受用户的输入,也无事件响应。

JLabel提供了如下方法用于构建JLabel对象

表8-6 JLabel构造方法

构造方法

说明

JLabel()

创建无图像并且其标题为空字符串的 JLabel类对象

JLabel(Iconimage)

创建具有指定图像的 JLabel类对象

public JLabel(Iconimage,

inthorizontalAlignment)

创建具有指定图像和水平对齐方式的 JLabe类对象

JLabel(Stringtext)

创建具有指定文本的 JLabel类对象

JLabel(Stringtext,Iconicon,
inthorizontalAlignment)

创建具有指定文本、图像和水平对齐方式的 JLabel类对象

JLabel(Stringtext,
inthorizontalAlignment)

创建具有指定文本和水平对齐方式的 JLabel类对象

构造方法中各参数意义

Image:显示在JLabel上的图标。

horizontalAlignment:JLabel上文字的对齐方式,其值为int枚举型,值包括SwingConstants.LEFT、SwingConstants.CENTER、SwingConstants.RIGHT、SwingConstants.LEADING 和 SwingConstants.TRAILING。

text:显示在JLabel上的文字。

以下的例8-4演示了本节中所介绍的各个组件的用法,界面可提供用户输入用户名和密码,按下回车后在JTextArea显示区显示用户输入的用户名和密码信息,不允许用户名或密码为空。

[例8-4]

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

class TextInputTest extends JFrame{

private JTextField userName = new JTextField(10);

private JTextArea ta = new JTextArea(4,10);

private JPasswordField password = new JPasswordField(10);

private JLabel label1 = new JLabel("用户名");

private JLabel label2 = new JLabel("密 码");

public TextInputTest(String title){

super(title);

password.setEchoChar('*');//设置回显字符

Container contentPane = this.getContentPane();

JPanel panelNorth = new JPanel();

JPanel panelCenter = new JPanel();

panelNorth.add(label1);

panelNorth.add(userName);

panelCenter.add(label2);

panelCenter.add(password);

contentPane.add(panelNorth,BorderLayout.NORTH);

contentPane.add(panelCenter,BorderLayout.CENTER);

contentPane.add(ta,BorderLayout.SOUTH);

pack();

//监听userName和password控件

userName.addActionListener(new MyActionListener());

password.addActionListener(new MyActionListener());

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

 

2017年计算机二级考试java章节辅导:文本输入.doc

本文来源:https://www.wddqw.com/h3KO.html