我正在尝试为网站创建一个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);
}
}
答案 0 :(得分:1)
a = counter++;
执行以下操作:
counter
。counter
。a
设置为已保存的值。因此,counter = counter++;
执行以下操作:
counter
。counter
。counter
设置为已保存的值。所以它添加了一个,但它会立即撤消它!
counter = counter++;
不是你想要的。只需使用counter++;
或counter = counter+1;
答案 1 :(得分:0)
您可以使用log4j进行日志记录。它可以登录到文件和标准输出
你的计数器也因此而变得奇怪:
计数器=计数++;
变量++增加自己。
您不需要将结果分配到变量中。只需使用:
计数器++;