java 判断两次输入密码是否一致
publicvoidisConfirm(){StringstrConfirm=newString(jpf2.getPassword());StringstrPwd=new...
public void isConfirm(){
String strConfirm = new String(jpf2.getPassword());
String strPwd = new String(jpf1.getPassword());
if(!strConfirm.equals(strPwd)){
JOptionPane.showMessageDialog(null, "两次密码输入不相同,请再次输入","警告",JOptionPane.WARNING_MESSAGE);
jpf1.setText("");
jpf2.setText("");
}
}
应该如何调用这段代码 才可以在密码不同时弹出对话框 我用JFame对象去调用 输入两次不同密码不显示啊 展开
String strConfirm = new String(jpf2.getPassword());
String strPwd = new String(jpf1.getPassword());
if(!strConfirm.equals(strPwd)){
JOptionPane.showMessageDialog(null, "两次密码输入不相同,请再次输入","警告",JOptionPane.WARNING_MESSAGE);
jpf1.setText("");
jpf2.setText("");
}
}
应该如何调用这段代码 才可以在密码不同时弹出对话框 我用JFame对象去调用 输入两次不同密码不显示啊 展开
7个回答
展开全部
焦点事件必须是在confirm输入之后调用才能起作用
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class PwdValidation {
public static void main(String[] args) {
JFrame f = new JFrame("Validation");
JLabel pwd = new JLabel("Input");
JLabel confirm = new JLabel("Confirm");
final JTextField password = new JTextField(15);
final JTextField cfmPwd = new JTextField(15);
f.add(pwd);
f.add(password);
f.add(confirm);
f.add(cfmPwd);
cfmPwd.addFocusListener(new FocusListener(){
public void focusGained(FocusEvent e) {}
public void focusLost(FocusEvent e) {
if(!password.getText().equals(cfmPwd.getTreeLock())){
JOptionPane.showMessageDialog(null, "Passowrd not same, please input again!","Warning",JOptionPane.WARNING_MESSAGE);
password.setText("");
cfmPwd.setText("");
}
}
});
f.setLayout(new FlowLayout());
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class PwdValidation {
public static void main(String[] args) {
JFrame f = new JFrame("Validation");
JLabel pwd = new JLabel("Input");
JLabel confirm = new JLabel("Confirm");
final JTextField password = new JTextField(15);
final JTextField cfmPwd = new JTextField(15);
f.add(pwd);
f.add(password);
f.add(confirm);
f.add(cfmPwd);
cfmPwd.addFocusListener(new FocusListener(){
public void focusGained(FocusEvent e) {}
public void focusLost(FocusEvent e) {
if(!password.getText().equals(cfmPwd.getTreeLock())){
JOptionPane.showMessageDialog(null, "Passowrd not same, please input again!","Warning",JOptionPane.WARNING_MESSAGE);
password.setText("");
cfmPwd.setText("");
}
}
});
f.setLayout(new FlowLayout());
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
展开全部
你是要在密码框输入密码后立即校验吧,那就必须使用文本框的失去焦点事件
文本框.addFocusListener(this);
文本框.addFocusListener(this);
更多追问追答
追问
能写一下全部代码吗 我还是不知道 怎么调用 还要再创建一个监听类吗?
追答
我装个IDE,我们公司没JavaIDE。我建议你先学学Java的事件机制,再做程序。遇到问题,就学习,别就=着源代码,只看代码,不学原理,永远学不精!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
”把上面那段代码的叹号去掉后,又变成不管密码是否一样都弹出错误框体“
应该是你取密码时有问题 jpf2.getPassword()和jpf1.getPassword()
应该是你取密码时有问题 jpf2.getPassword()和jpf1.getPassword()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-15
展开全部
在jpf2失去焦点时调用试试
追问
如何设置失去焦点时调用啊?
追答
function isConfirm(){
......
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意楼下的回答,失去焦点是触发就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询