Java applet登录尝试计数器无法正常工作

时间:2014-07-21 09:22:12

标签: java login applet counter

我正在尝试为网站创建一个applet,而这个登录applet是我今天开始的#34; play"用。它处于项目状态,我还有很多工作要做,但登录尝试计数器似乎没有按照我想要的方式增加,而且我不知道为什么 (System.out.println(counter);只是为了告诉我计数器仍然是1),有什么想法吗?     另外,您能指出我登录applet的方向(链接,示例),我可以了解更多内容并尝试为自己的网站应用内容吗?谢谢。    这是代码:

  import java.applet.Applet;
     import java.awt.Button;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*   <applet code = "Login" width= 200 height = 200>
 </applet>
*/
public class Login extends Applet implements ActionListener
{
 Label lblUser, lblPassword;
 TextField txtUser, txtPassword;
 Button bLogin;
 boolean blnCorrect;

 public void init()
 {
  lblUser = new Label("UserName");
  add(lblUser);

  txtUser = new TextField(20);
  txtUser.setText("Username");
  add(txtUser);

  lblPassword = new Label("Password");
  add(lblPassword);

  txtPassword = new TextField(20);
  txtPassword.setText("Password");
  add(txtPassword);

  bLogin = new Button("Login");
  add(bLogin);
  bLogin.addActionListener(this);
 }

 public void actionPerformed(ActionEvent e)
 { 




  if(txtUser.getText().equals("demo") && txtPassword.getText().equals("demopassword"))
   blnCorrect = true;
  else
   blnCorrect = false;



  repaint();
 }

 public void paint(Graphics g)
 { int counter=0;

 if(txtUser.getText().equals("Username") && txtPassword.getText().equals("Password"))
     g.drawString("Please enter your username and password ", 50, 100);



  if(blnCorrect)
   g.drawString("Successfully Logged in.", 50, 100);

  else

       while(txtUser.getText().equals("demo") && !txtPassword.getText().equals("demopassword")){
          counter=counter++;
          System.out.println(counter);
          txtUser.setText(" ");
          txtPassword.setText(" ");
          g.drawString("The password you introduced it's incorrect. ", 50, 100); 

          if(counter==3){ g.drawString("Log in blocked.", 50, 100);
          System.exit(12);
          }
       }




  if(!txtUser.getText().equals("demo"))
    g.drawString("Invalid username. ", 50, 90);
  }


 }

2 个答案:

答案 0 :(得分:1)

a = counter++;执行以下操作:

  • 保存counter
  • 的当前值
  • 将一个添加到counter
  • a设置为已保存的值。

因此,counter = counter++;执行以下操作:

  • 保存counter
  • 的当前值
  • 将一个添加到counter
  • counter设置为已保存的值。

所以它添加了一个,但它会立即撤消它!

counter = counter++;不是你想要的。只需使用counter++;counter = counter+1;

即可

答案 1 :(得分:0)

您可以使用log4j进行日志记录。它可以登录到文件和标准输出 你的计数器也因此而变得奇怪:
    计数器=计数++;
变量++增加自己。
您不需要将结果分配到变量中。只需使用:
    计数器++;