您好我有一个代码,我注册帐户,然后让注册帐户输入我的代码使用它,但现在使用ActionPerformed即使信息无效,代码打开我想要限制的新框架没有帐户。我不知道如何在我的if e.getSource()
条件下仅在登录有效时才打开,没有其他事先感谢您的帮助
这是代码:
public void actionPerformed(ActionEvent e){
if(e.getSource()==btsubmit){
String uname=txtnamereg.getText();
String passw=new String(txtpasswordreg.getPassword());
if(!checkBlank(uname,passw, lblnamereg,lblpasswordreg)){
if(!checkExist("init.txt",uname)){
passw=new String(encrypt(passw));
String accinfo=uname+"-"+passw;
saveToFile("init.txt",accinfo);
}
}
}
else if(e.getSource()==btlogin){
String uname=txtname.getText();
String passw=new String(txtpassword.getPassword());
if(!checkBlank(uname,passw,lblname,lblpassword))
validateUser("init.txt",uname,passw);
}
if (e.getSource() == btlogin ) {
MathoQuest math = new MathoQuest();
math.getContentPane();
math.setVisible(true);
}
}
如果你想看看它是如何验证的,我会在这里包括所以你也可以有一个想法:
public void validateUser(String filename, String name, String password){
FileReader fr;
BufferedReader br;
boolean valid=false;
String accinfo;
try{
fr=new FileReader(filename);
br=new BufferedReader(fr);
while ((accinfo=br.readLine())!=null){
if(check(accinfo,name,password)){
showMess("Login valide",lblmess);
valid=true;
break;
}
}
答案 0 :(得分:2)
修改validateUser
以返回布尔值,如果登录有效则返回true
,否则返回false
。
然后使用返回的信息决定是否打开框架。
例如:
public boolean validateUser(String filename, String name, String password) {
...
if(check(accinfo, name, password)) {
return true;
}
...
return false
}
然后你可以这样称呼它:
boolean valid = validateUser("init.txt",uname,passw);
if(valid) {
...
}