
密码框组件与文本框组件的定义和用法基本相同,不同的是密码框将用户输入的字符串以某种符号进行加密。密码框对象是通过JPasswordField类来创建,JPasswordField类的构造方法与JTextField类的构造方法类似,它的常用方法如表12.12所示。
构造方法声明 | 功能描述 |
|---|---|
public JPasswordField() | 构造一个新 JPasswordField,使其具有默认文档、为 null 的开始文本字符串 |
public JPasswordField(String text) | 构造一个利用指定文本初始化的新 JPasswordField |
public JPasswordField(String text, int c) | 构造一个利用指定文本和列初始化的新 JPasswordField |
public char getEchoChar() | 返回回显的字符。默认值为”*” |
public void setEchoChar(char char) | 设置密码框组件的回显字符 |
public char[]getPassword() | 返回密码文本行组件中所包含的文本 |
表12.12中列举出了JPasswordField类的构造方法,接下来通过一个案例来演示JPasswordField类的使用,如例11-21所示。
例12-11 Demo1211.java
1import java.awt.*;
2import javax.swing.*;
3
4public class Demo1211 {
5 public static void main(String[] args) {
6 JFrame jFrame = new JFrame("JFrame窗口"); // 创建JFrame窗体
7 // 创建密码框
8 final JPasswordField jpwd= new JPasswordField("www.3adazuo.cn", 15);
9 jpwd.setEchoChar('*');
10 JLabel jLabel=new JLabel("请输入密码");
11 jFrame.add(jLabel);
12 jFrame.add(jpwd); // 将文本框添加到JFrame
13 JButton jb = new JButton("清空");
14
15 jFrame.add(jb);
16 jFrame.setLayout(new FlowLayout());
17 jFrame.setSize(300, 150);
18 // 设置窗体关闭方式
19 jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
20 jFrame.setVisible(true);
21 }
22}程序的运行结果如图12.13所示。

图12.13中,运行程序先创建了JFrame窗体,然后创建了JPasswordField密码框并设置内容为“www.3adazuo.cn”,调用setEchoChar(Char char)方法设置回显字符为“*”,增加标签对象jLable,将标签对象和将密码框添加到JFrame窗体,接着创建一个清空按钮将其添加到JFrame窗体。
文本域(JTextArea)都是JTextArea类型的对象。JTextArea类的常用方法如表12.13所示。
构造方法声明 | 功能描述 |
|---|---|
public JTextArea() | 构造新的 TextArea。 |
public JTextArea(int rows, int c) | 构造具有指定行数和列数的新的空 TextArea。 |
public JTextArea(String text) | 构造显示指定文本的新的 TextArea。 |
public JTextArea(String text, int rows, int c) | 构造具有指定文本、行数和列数的新的 TextArea。 |
public void append(String str) | 将文本str追加到文本区的末尾 |
public void replaceRange(String str,int begin,int end) | 把从位置begin开始到end结束的字符串用str代替 |
表12.13中列举出了JTextArea类的常用方法,接下来通过一个案例来演示JTextArea类的使用,如例12-12所示。
例12-12 Demo1212.java
1import java.awt.*;
2import javax.swing.*;
3
4public class Demo1212 {
5 public static void main(String[] args) {
6 JFrame jFrame = new JFrame("JFrame窗口"); // 创建JFrame窗体
7 JTextArea jta = new JTextArea("AAA软件教育,Swing学习案例,可以自动换行 的文本域组件", 6, 7);
8 jta.setSize(190, 200);
9 jta.setLineWrap(true);
10 //添加到jFrame对象
11 jFrame.add(jta);
12 jFrame.setLayout(new FlowLayout());
13 jFrame.setSize(260, 150);
14 jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
15 jFrame.setVisible(true);
16 }
17}程序的运行结果如图12.14所示。

图12.14中,运行程序先创建了JFrame窗体,然后创建了JTextArea文本域并设置内容为“AAA软件教育,Swing学习案例,可以自动换行的文本域组件”,调用setLineWrap(boolean b)方法设置自动换行。