Vechace. H 2016-05-24 11:19 采纳率: 50%
浏览 7167
已采纳

怎么用Java编写一个简单的登录系统?可以注册账号的那种

数据库用的是MySQL,但Java操作方面的不知道怎么入手,求大神指点啊,有实例参考就更好了,谢谢

  • 写回答

4条回答 默认 最新

  • ZYP_9 2016-05-24 12:04
    关注

    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.Container;
    import java.util.*;
    import java.sql.*;

    class Login extends JFrame implements ActionListener
    { Container cp=null;
    JFrame f=null;
    JButton j1,j2;
    JTextField t1;
    JPasswordField t2;
    JLabel jlable1,jlable2;
    Color c;
    JPanel jp1,jp2;

    Login(){
    
        f=new JFrame("***********");
        j1=new JButton("确定");
        j2=new JButton("取消");
        cp=f.getContentPane();
        jlable1=new JLabel(" 用户名");
        jlable2=new JLabel(" 密     码");
    
        jp1=new JPanel();
        jp2=new JPanel();
        t1=new JTextField(18);
        t2=new JPasswordField(18);
    
        jp1.add(jlable1);
        jp1.add(t1);
        jp1.add(jlable2);
        jp1.add(t2);
        JLabel  JL=new JLabel("<html><font color=#CC00FF size='7'><i>欢迎登陆</i></font>",SwingConstants.CENTER);
        cp.add(JL,"North");
        jp2.add(j1);
        jp2.add(j2);
        cp.add(jp1,"Center");
        cp.add("South",jp2);
        jp1.setBackground(new Color(255,153,255));
    
        Toolkit kit=Toolkit.getDefaultToolkit();  //当需要解释类型、方法或构造方法的一般签名信息的反射方法遇到语法错误的签名属性时,抛出该错误。
        Dimension screen=kit.getScreenSize();
        int x=screen.width;                 /*取得显示器窗口的宽度*/
        int y=screen.height;                    /*取得显示器窗口的高度*/
        //setSize(x,y); /*让系统窗口平铺整个显示器窗口*/
    
        f.setSize(300,300);         
        int xcenter=(x-300)/2;
        int ycenter=(y-300)/2;
        f.setLocation(xcenter,ycenter);/*显示在窗口中央*/
    
        f.setVisible(true);
    
    
       j1.addActionListener(this);//注册事件监听器
       j2.addActionListener(this);
       f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        }
        );
    }
    public void confirm()//验证用户和密码是否存在
      {
    
        Connection con = null;
        try{
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
           }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}
        try{
            String url = "jdbc:sqlserver://localhost:1433;databasename=DB";//直接使用当前类目录下的数据库文件
            String user= "****";            
            String password = "****";            
            con =DriverManager.getConnection(url, user, password);//JDBC中已经有多个驱动,此句话是遍历系统中已经注册的驱动程序,直到找到一个正确的驱动程序。
    

    // Statement sql=con.createStatement();
    String uname=t1.getText().trim();
    String Mima=t2.getText().trim();
    // String queryMima="select * from [user] where 用户名='"+uname+"' and 密码='"+Mima+"'";
    String queryMima="select * from [user]";
    PreparedStatement sql=con.prepareStatement(queryMima);
    // ResultSet rs=sql.executeQuery(queryMima);
    ResultSet rs=sql.executeQuery();
    while(rs.next())
    {
    if(rs.getString(1).trim().equals(uname)&&rs.getString(2).trim().equals(Mima))
    {
    if(rs.getString(3).trim().equals("1"))
    {
    new Book(uname);
    f.hide();
    return;
    }
    else{
    new book1(uname);
    f.hide();
    return;
    }
    }

            }
            con.close();
            {
                JOptionPane.showMessageDialog(null,"该用户不存在","提示!", 
                              JOptionPane.YES_NO_OPTION);
    
                }
    
                t1.setText("");
                t2.setText("");
    
          } catch(SQLException g)
                {
                System.out.println("E Code  "+g.getErrorCode());
                System.out.println("E M"+g.getMessage());
                 }
    
       }
    public void actionPerformed(ActionEvent e)
       {
         String cmd=e.getActionCommand();
          if(cmd.equals("确定")){
              confirm();
          }
          else if(cmd.equals("取消")){
              f.dispose();
          }
       }
    
    public static void main(String []arg){
    
           Login a=new Login();
     }
    

    }

    ------此处使用的SQL Server数据库,更改驱动即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条