阅读(2932)
赞(0)
Java Swing JPasswordField
2017-01-09 19:23:21 更新
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); } }