Java Swing JPasswordField
2018-01-09 19:23 更新
Java Swing教程 - Java Swing JPasswordField
JPasswordField是一个JTextField,它隐藏了输入的字符。
我们可以通过使用setEchoChar(char newEchoChar)方法设置我们自己的echo字符。
JPasswordField类具有与JTextField类相同的构造函数集。
我们组合初始文本,列数和一个Document对象来创建一个JPasswordField对象。
要创建10个字符宽的密码字段
JPasswordField passwordField = new JPasswordField(10);
出于安全原因,JPasswordField的getText()方法已被弃用。
我们应该使用它的getPassword()方法,它返回一个char数组。
以下代码显示如何验证在中输入的密码JPasswordField:
首先,获取在字段中输入的密码。
char c[] = passwordField.getPassword();
String correctPass = "myPassword";
char[] cp = correctPass.toCharArray();
if (Arrays.equals(c, cp)) {
System.out.println("The password is correct");
}
else {
System.out.println("The password is incorrect");
}
以下代码将#设置为回声字符。
password.setEchoChar("#");
我们可以使用JPasswordField作为JTextField,将其echo字符设置为零。
以下代码将echo字符设置为0,因此实际的密码字符是可见的。
passwordField.setEchoChar((char)0);
import java.awt.BorderLayout;
import java.awt.Container;
/* w ww.jav a 2s . c o m*/
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Main {
public static void main(String args[]) {
JFrame f = new JFrame("JPasswordField Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = f.getContentPane();
content.setLayout(new BorderLayout());
Box rowOne = Box.createHorizontalBox();
rowOne.add(new JLabel("Username"));
rowOne.add(new JTextField());
Box rowTwo = Box.createHorizontalBox();
rowTwo.add(new JLabel("Password"));
rowTwo.add(new JPasswordField());
content.add(rowOne, BorderLayout.NORTH);
content.add(rowTwo, BorderLayout.SOUTH);
f.setSize(300, 200);
f.setVisible(true);
}
}
以上内容是否对您有帮助:

免费 AI IDE


更多建议: