密码框(JPasswordField)与文本框的定义与算法基本相同,不同的是密码框将用户输入的字符串以某种符号进行加密。密码框对象是通过javax.swing.JPasswordField类来创建的。
在程序中定义密码框
JPasswordField jp=new JPasswordField();
jp.setEchoChar('#');//设置回显字符
在JPasswordField类中提供一个setEchoChar()方法,可以改变密码框的回显字符。
实例
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Demo15 extends JFrame{
public Demo15() {
setBounds(100,100,300,100);//设置窗体坐标和大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则,关闭窗口时关闭程序
Container c=getContentPane();
c.setLayout(new FlowLayout());
JPasswordField jp=new JPasswordField();
jp.setColumns(20);//密码长度,20个字符
jp.setEchoChar('#');//设置回显字符
jp.addActionListener(new ActionListener() {//添加动作监听,回车
public void actionPerformed(ActionEvent e) {
char ch[] = jp.getPassword();//获取密码的字符数组
String str=new String(ch);
System.out.println(str);
}
});
c.add(jp);
setVisible(true);//设置窗体为可见
}
public static void main(String[] args) {
new Demo15();
}
}
运行结果