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

怎么用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数据库,更改驱动即可

    点赞 评论
  • blownewbee 2016-05-24 11:52
    点赞 评论
  • shiter 2016-05-24 12:12

    比较简单的,就是写到内存验证一下就好了

     简单,简单,
    import java.awt.*;
    import javax.swing.*;
    public class guanli_chaozuo extends JFrame{
    public    JLabel jusername;
    public    JLabel jpassword,jpassword_sure;
    public    JTextField username;
    public JPasswordField password,password_sure;
    public    JButton jb1,jb2;
    
    public void    make_GUI(){
    
     jusername=new JLabel("用户名* ");
     jpassword=new JLabel("新密码* ");
     jpassword_sure=new JLabel("新密码确认*");
    jb1=new JButton("确定");
    jb2=new JButton("取消");
    username=new JTextField(10);
    password=new JPasswordField(10);
    password_sure=new JPasswordField(10);
    Container cp=getContentPane();
    JPanel jp=new JPanel();
    JPanel jp2 =new JPanel();
    jp.setLayout(new GridLayout(4,8,20,10));
    jp.add(jusername);jp.add(username);
    jp.add(jpassword);jp.add(password);
    jp.add(jpassword_sure);jp.add(password_sure);
    jp2.add(jb1);
    jp2.add(jb2);
    cp.add(jp,BorderLayout.CENTER);
    cp.add(jp2,BorderLayout.SOUTH);
    setSize(300,200);
    setVisible(true);    
    }
    public guanli_chaozuo(String s){
        super(s);
        make_GUI();
    
    }
    
    public void exit(){
            this.dispose();
                }
    
    
    }
    
    点赞 评论
  • DreamTHT 2016-05-24 11:19

    这样的示例网上一搜一大堆吧

    点赞 评论