实现模拟登录功能,只有输入用户名为“admin”和密码为“888888”时,显示登录成功,代码如下:
jblogin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
if(nameField.getText()=="")
JOptionPane.showMessageDialog(null, "用户名不能为空!");
else if (PwdField.getText()=="") {
JOptionPane.showMessageDialog(null, "密码不能为空!");
}
else if (nameField.getText()!="admin") {
JOptionPane.showMessageDialog(null, "用户名错误!");
}
else if (PwdField.getText()!="888888") {
JOptionPane.showMessageDialog(null, "密码错误!");
}
else {
JOptionPane.showMessageDialog(null, "欢迎登陆!");
}
}
});运行时无论输入正确的还是错误的用户名密码,显示的始终是用户名错误,该怎么改?
jblogin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
if(nameField.getText()=="")
JOptionPane.showMessageDialog(null, "用户名不能为空!");
else if (PwdField.getText()=="") {
JOptionPane.showMessageDialog(null, "密码不能为空!");
}
else if (nameField.getText()!="admin") {
JOptionPane.showMessageDialog(null, "用户名错误!");
}
else if (PwdField.getText()!="888888") {
JOptionPane.showMessageDialog(null, "密码错误!");
}
else {
JOptionPane.showMessageDialog(null, "欢迎登陆!");
}
}
});运行时无论输入正确的还是错误的用户名密码,显示的始终是用户名错误,该怎么改?
IF
NAME==NULL
输出:用户名不能为空
IF
PWD==NULL
输出:密码不能为空
IF
(NAME=="ADMIN")&&(PWD="8888")
输出:登录成功!这是伪代码,你可以看一下,希望对你有帮助
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class UsernameAndPassword{
public static void main(String[] args){
JFrame frame = new JFrame();
final JLabel label1 = new JLabel("name", SwingConstants.RIGHT);
final JLabel label2 = new JLabel("password", SwingConstants.RIGHT);
final JTextField jtf1 = new JTextField(15);
final JPasswordField jpf2 = new JPasswordField(15);
//final char[] pw;
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(label1);
panel.add(jtf1);
panel.add(label2);
panel.add(jpf2); JButton button = new JButton("登录");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
char[] pw = jpf2.getPassword();
String passWord = new String(pw);
//if(nameField.getText()=="")
if(jtf1.getText().equals("")){
JOptionPane.showMessageDialog(null, "用户名不能为空!");
}
//else if (PwdField.getText()=="") {
else if (passWord.equals("")) {
JOptionPane.showMessageDialog(null, "密码不能为空!");
}
//else if (nameField.getText()!="admin") {
else if (!jtf1.getText().equals("admin")) {
JOptionPane.showMessageDialog(null, "用户名错误!");
}
//else if (PwdField.getText()!="888888") {
else if (!passWord.equals("888888")) {
JOptionPane.showMessageDialog(null, "密码错误!");
}
else {
JOptionPane.showMessageDialog(null, "欢迎登陆!");
}
}
});
panel.add(button); frame.getContentPane().add(panel);
frame.setVisible(true);
frame.setSize(1000, 100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
变为 else if (!(PwdField.getText()).equals("888888")) 加!!!
.equals比较的才是值。
如果.equals还不行的话,我猜你就是你根本没有获取到值,或者你获取的到的值是空字符串。
你System.out.println输出一下看看你获取到的是什么