程序如下,运行没有问题,只是在登录时不会区分大小写,请各位大神帮忙解决下,不甚感激
- Java code
import javax.swing.*;import javax.swing.text.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class TestFrame extends JFrame { // 添加类成员变量 JLabel user = new JLabel("用户名"); JTextField _user = new JTextField(8); JLabel pwd = new JLabel("密 码"); JPasswordField _pwd = new JPasswordField(8); JButton login_bt = new JButton("登录"); JButton cancel_bt = new JButton("重置"); JFrame jf = this; Container c = getContentPane(); // JFrame的容器,用于放置JPanel JPanel jp = new JPanel(); // JPanel容器,用于放置普通组件 GridBagLayout gbLayoutObj; GridBagConstraints gbcObj; // TestFrame类的构造函数 public TestFrame() { // 设置右上角关闭按钮可用 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置各组件的布局 gbLayoutObj = new GridBagLayout(); gbcObj = new GridBagConstraints(); jp.setLayout(gbLayoutObj); gbcObj.anchor = GridBagConstraints.EAST; gbcObj.gridx = 1; gbcObj.gridy = 1; gbLayoutObj.setConstraints(user,gbcObj); gbcObj.gridy = 2; gbLayoutObj.setConstraints(pwd,gbcObj); gbcObj.anchor = GridBagConstraints.WEST; gbcObj.gridx = 2; gbcObj.gridy = 1; gbLayoutObj.setConstraints(_user,gbcObj); gbcObj.gridy = 2; gbLayoutObj.setConstraints(_pwd,gbcObj); gbcObj.anchor = GridBagConstraints.SOUTH; gbcObj.gridx = 1; gbcObj.gridy = 3; gbLayoutObj.setConstraints(login_bt,gbcObj); gbcObj.gridx = 2; gbLayoutObj.setConstraints(cancel_bt,gbcObj); // 给用户名文本框添加事件,并设置登录按钮的状态 login_bt.setEnabled(false); _user.addCaretListener( new CaretListener() { public void caretUpdate(CaretEvent e) { login_bt.setEnabled(!_user.getText().trim().equals("")); } } ); // 给重置按钮添加事件 cancel_bt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { _user.setText(""); _pwd.setText(""); } }); // 给登录按钮添加事件 login_bt.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { // 连接数据库 DBcon dbcon = new DBcon(); Connection con = dbcon.getConnection(); String sql = ""; // 在数据库中检索用户是否合法 sql = "select * from user where user = ? and pwd = ?;"; try { PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, _user.getText().trim()); ps.setString(2, _pwd.getText().trim()); ResultSet rs = ps.executeQuery(); if(rs.next()) { // 生成菜单 JMenuBar msgBar = new JMenuBar(); // 生成通讯录管理菜单 JMenu msgMenu = new JMenu("联系人管理"); JMenuItem selectMsg = new JMenuItem("查询联系人"); JMenuItem addMsg = new JMenuItem("增加联系人"); JMenuItem delMsg = new JMenuItem("删除联系人"); JMenuItem altMsg = new JMenuItem("修改联系人信息"); msgMenu.add(selectMsg); msgMenu.add(addMsg); msgMenu.add(delMsg); msgMenu.add(altMsg); JMenu userMenu = new JMenu("用户管理"); JMenuItem selectUser = new JMenuItem("查询用户"); JMenuItem addUser = new JMenuItem("增加用户"); JMenuItem delUser = new JMenuItem("删除用户"); JMenuItem altUser = new JMenuItem("修改用户"); userMenu.add(selectUser); userMenu.add(addUser); userMenu.add(delUser); userMenu.add(altUser); msgBar.add(msgMenu); msgBar.add(userMenu); /* 给菜单添加事件 */ selectMsg.addActionListener(new SelectMsg(jf)); // 查询联系人信息 selectUser.addActionListener(new SelectUser(jf)); // 查询用户 addMsg.addActionListener(new AddMsg(jf)); // 增加联系人信息 addUser.addActionListener(new AddUser(jf));// 增加用户 altUser.addActionListener(new ModifyUser(jf)); // 修改用户密码 altMsg.addActionListener(new ModifyMsg(jf)); // 修改联系人信息 delUser.addActionListener(new DelUser(jf)); // 删除用户 delMsg.addActionListener(new DelMsg(jf)); // 删除联系人信息 // 在JFrame中设置菜单 setJMenuBar(msgBar); jp = new JPanel(); setContentPane(jp); setVisible(true); } else { JOptionPane.showMessageDialog(null,"用户名或密码输入错误,再确认后再次输入!"); _pwd.setText(""); } } catch(SQLException e) { System.out.println("error:" + e.getMessage()); } } } ); // 将各普通组件加入JPanel面板中 jp.add(user); jp.add(_user); jp.add(pwd); jp.add(_pwd); jp.add(login_bt); jp.add(cancel_bt); // 将JPanel放入JFrame中 setContentPane(jp); setVisible(true); } public static void main(String[] args) { new TestFrame(); } }