这是我的代码,请求各位的帮助,谢谢了,密码和用户名输入正确也是显示不正确,为什么?谢谢,我是初学者
登录界面:
package login;
import java.awt.Container;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import mframe.MainFrame;
import mytools.MyFont;
public class Login extends JFrame {
JTextField name;
JPasswordField pw;
JLabel JLabel1,JLabel2,JLabel3,JLabel4;
JButton jlog,jcancle;
public Login(){
JLabel2=new JLabel("客房管理系统");
JLabel2.setBounds(140, 30, 220, 40);
JLabel2.setFont(MyFont.f0);
this.add(JLabel2);
JLabel3=new JLabel("用户名");
JLabel3.setBounds(140, 110, 150, 20);
JLabel3.setFont(MyFont.f1);
this.add(JLabel3);
JLabel4=new JLabel("密码");
JLabel4.setBounds(140, 150, 150, 20);
JLabel4.setFont(MyFont.f1);
this.add(JLabel4);
//用户名输入框
name = new JTextField();
name.setBounds(200, 110, 125, 30);
this.add(name);
//密码输入框
pw = new JPasswordField();
pw.setBounds(200, 150, 125, 30);
this.add(pw);
jlog = new JButton("登录");
jlog.setBounds(90, 220, 80, 30);
jlog.setFont(MyFont.f1);
this.add(jlog);
jcancle = new JButton("取消");
jcancle.setBounds(230, 220, 80, 30);
jcancle.setFont(MyFont.f1);
this.add(jcancle);
this.setTitle("登录系统");
// 窗体组件初始化
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置布局方式为绝对定位
this.setLayout(null);
this.setBounds(0, 0, 420, 325);
// 窗体大小不能改变
this.setResizable(true);
// 居中显示
this.setLocationRelativeTo(null);
// 窗体可见
this.setVisible(true);
//该处为设计登陆按钮的监听
jlog.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String user = name.getText().trim();
String password=pw.getText();
if(name.equals("abc") && pw.equals("123")){
setVisible(false);
MainFrame mf=new MainFrame();
}
else{
JOptionPane.showMessageDialog(null, "用户名或密码错误", "Error", JOptionPane.INFORMATION_MESSAGE);
}
}
} );
//该处为设计退出按钮的监听
jcancle.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
public static void main(String args[]){
Login log= new Login();
}
}
------解决方案--------------------
主窗体实例化后需要展现出来,visible要手动赋值才可以
MainFrame mf=new MainFrame();
mf.setVisible(true)
------解决方案--------------------
另外你的name和pw都是文本域控件。肯定不可能与abc、123相同。
改成
String user = name.getText().trim();
String password=pw.getText();