22.5.2 密码域的设计
密码域一般用在登录窗口等地方。Swing类库中使用JPasswordField类实现密码域,它的作用就是让所有输入内容以“*”形式出现,这样就不会看到用户的密码了。
【实例22.9】下面演示一个有关密码域的实例。
01 import javax.swing.*;
02 import java.awt.*;
03 ///创建一个顶层框架类
04 ///WIDTH参数是指框架的宽度
05 ///HEIGHT参数是指框架的长度
06 ///setTitle用来设置框架左上角的标题
07 ///setSize用来设置框架的大小
08 ///通过ToolKit类中的方法,将顶层框架放置到屏幕中央
09 ///创建一个容器类对象p并且将密码域对象添加到其中
10 ///将p添加到顶层框架
11 12 public class Swingtest8
13 {
14 static final int WIDTH=300;
15 static final int HEIGHT=200;
16 public static void main(String[]args)
17 {
18 JFrame jf=new JFrame();
19 jf.setSize(WIDTH, HEIGHT);
20 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
21 jf.setTitle("学生管理系统");
22 Toolkit kit=Toolkit.getDefaultToolkit();
23 Dimension screenSize=kit.getScreenSize();
24 int width=screenSize.width;
25 int height=screenSize.height;
26 int x=(width-WIDTH)/2;
27 int y=(height-HEIGHT)/2;
28 jf.setLocation(x, y);
29 JPasswordField jp=new JPasswordField(10);
30 Panel p=new Panel();
31 p.add(jp);
32 jf.add(p, BorderLayout.CENTER);
33 jf.show();
34 }
35 }
【代码说明】第29行创建密码文本框,这里没有指定显示字符,而是使用了默认的“*”来显示用户输入的内容。我们经常在银行的ATM机上碰到的密码输入框就是这个效果。
图 22.10 添加密码域
【运行效果】运行结果如图22.10所示。