第一种:大概思路代码
while (true) {
try {
do {
JPasswordField passwd = new JPasswordField(16);
JOptionPane localJOptionPane = new JOptionPane(
"由于您长期未操作 请输入密码解锁:",
JOptionPane.QUESTION_MESSAGE);
localJOptionPane.add(passwd, 1);
passwd.setEchoChar('*');
JDialog localJDialog = localJOptionPane.createDialog(localJOptionPane,
"输入密码");
localJDialog.setVisible(true);
String localObject = String.valueOf(passwd.getPassword());
localJDialog.dispose();
} while (!localObject .equals(loginPassword));
if (localObject .equals(loginPassword)) {
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
第二种:showInputDialog
思路:showInputDialog为输入框(模态框),模态框即表示 不关闭不能对程序其它部分进行操作,所以达到简单的锁定程序功能,类似于早期网吧的挂机锁。showInputDialog框很特殊,关闭或点击取消showInputDialog框时,会出现异常,所以用while(true) + try catch做 直到输入正确再让它退出。
注意:尽量避免 Jtextfield做密码框,因为Jtextfield不会实时刷新,比如密码为"abc",输入"abcd"后,把’d’删除,还是可能会报密码错误:解决方法 最简单的就是 判断密码错误后 jtextfield.setText(""),把输入框清空,不要把密码遗留在上面