精华内容
下载资源
问答
  • java语言是一门面向对象的语言,eclipse是一种通用的编译器,软件是将现实中的事物的业务逻辑让计算机看懂。在eclipse中完成一个任务有哪些规范需要...2、需求:实现常用的登陆注册模块,输入已经注册好的用户名和密...

    java语言是一门面向对象的语言,eclipse是一种通用的编译器,软件是将现实中的事物的业务逻辑让计算机看懂。

    在eclipse中完成一个任务有哪些规范需要注意的呢?我们要以怎样的思维方式去达到目的呢?

    ·1、拿到一个任务后,不应该盲目地去写代码,应该按照面向对象编程的基本步骤。

    a、有哪些类

    b、每个类里面有哪些东西(成员)

    c、类与类的关系。

    2、需求:实现常用的登陆注册模块,输入已经注册好的用户名和密码,系统提示登陆成功。

    a、有哪些类:用户类,测试类

    b、每个类有哪些东西:用户类(具体分为基本类(用户名,密码,getset方法,构造方法),操作类(登陆,注册));测试类(main方法,测试)

    c、类与类的关系:在测试类里面测试用户类

    3、包名和类名的命名规范:

    a、用户基本描述类包 cn.lin.pojo

    里面有个基本类User

    public class User {

    // 用户名

    private String username;

    // 密码

    private String password;

    public User() {

    }

    public String getUsername() {

    return username;

    }

    public void setUsername(String username) {

    this.username = username;

    }

    public String getPassword() {

    return password;

    }

    public void setPassword(String password) {

    this.password = password;

    }

    }

    b、用户操作接口,会在不同的情况下被不同的类继承(实现多态)

    包名:com.lin.dao

    接口名UserDao

    ublic interface UserDao {

    /**

    * 这是用户登录功能

    *

    * @param username

    *            用户名

    * @param password

    *            密码

    * @return 返回登录是否成功

    */

    public abstract boolean isLogin(String username, String password);

    /**

    * 这是用户注册功能

    *

    * @param user

    *            要注册的用户信息

    */

    public abstract void regist(User user);

    }

    c、实现某一个接口:com.lin.dao.impl

    具体的类UserDaoImpl

    public class UserDaoImpl implements UserDao {

    // 为了让多个方法能够使用同一个集合,就把集合定义为成员变量

    // 为了不让外人看到,用private

    // 为了让多个对象共享同一个成员变量,用static

    private static ArrayList array = new ArrayList();

    @Override

    public boolean isLogin(String username, String password) {

    // 遍历集合,获取每一个用户,并判断该用户的用户名和密码是否和传递过来的匹配

    boolean flag = false;

    for (User u : array) {

    if (u.getUsername().equals(username)

    && u.getPassword().equals(password)) {

    flag = true;

    break;

    }

    }

    return flag;

    }

    @Override

    public void regist(User user) {

    // 把用户信息存储集合

    // ArrayList array = new ArrayList();

    array.add(user);

    }

    }

    d、最后就是测试类了

    包名 com.lin.test

    类名:UserTest

    public class UserTest {

    public static void main(String[] args) {

    // 为了能够回来

    while (true) {

    // 欢迎界面,给出选择项

    System.out.println("--------------欢迎光临--------------");

    System.out.println("1 登录");

    System.out.println("2 注册");

    System.out.println("3 退出");

    System.out.println("请输入你的选择:");

    // 键盘录入选择,根据选择做不同的操作

    Scanner sc = new Scanner(System.in);

    // 为了后面的录入信息的方便,我所有的数据录入全部用字符接收

    String choiceString = sc.nextLine();

    // switch语句的多个地方要使用,我就定义到外面

    UserDao ud = new UserDaoImpl();//不管怎么new对象,类里面的array成员变量被声明为了静态,保证了是对一个用户的判断

    // 经过简单的思考,我选择了switch

    switch (choiceString) {

    case "1":

    // 登录界面,请输入用户名和密码

    System.out.println("--------------登录界面--------------");

    System.out.println("请输入用户名:");

    String username = sc.nextLine();

    System.out.println("请输入密码:");

    String password = sc.nextLine();

    // 调用登录功能

    // UserDao ud = new UserDaomImpl();

    boolean flag = ud.isLogin(username, password);

    if (flag) {

    System.out.println("谢谢使用,欢迎下次再来");

    System.exit(0);

    // break; //这里写break,结束的是switch

    } else {

    System.out.println("用户名或者密码有误,登录失败");

    }

    break;

    case "2":

    // 欢迎界面,请输入用户名和密码

    System.out.println("--------------注册界面--------------");

    System.out.println("请输入用户名:");

    String newUsername = sc.nextLine();

    System.out.println("请输入密码:");

    String newPassword = sc.nextLine();

    // 把用户名和密码封装到一个对象中

    User user = new User();

    user.setUsername(newUsername);

    user.setPassword(newPassword);

    // 调用注册功能

    // 多态

    // UserDao ud = new UserDaoImpl();

    // 具体类使用

    // UserDaoImpl udi = new UserDaoImpl();

    ud.regist(user);

    System.out.println("注册成功");

    break;

    case "3":

    default:

    System.out.println("谢谢使用,欢迎下次再来");

    System.exit(0);

    break;

    }

    }

    }

    }

    以上就是一个简单的登陆注册功能的实现,jdk的版本要在1.7以上,才能接受switch语句里面的参数为String型

    展开全文
  • Java实现登陆注册界面

    千次阅读 多人点赞 2020-06-28 19:04:52
    1.java swing (也可采用SWT designer进行辅助界面设计 ) 所用组件: JButton:登陆 JLabel:使用JLabel(new ImgeIcon(url)),进行背景设置,最好使用相对地址 "/" 将图片放在程序文件之中,也可使用本地

    一、工具准备
    1.Java开发集成工具 : mycilpse (可以采用更先进的idea intellij)
    2.包:jdbc包
    3.数据库:sql server

    二、知识需求

           1.java swing (也可采用SWT designer进行辅助界面设计 )
           
           所用组件:
           JButton:登陆
           JLabel:使用JLabel(new ImgeIcon(url)),进行背景设置,最好使用相对地址 "/" 将图片放在程序文件之中,也可使用本地地址:“\"
           JTextField:文本框,进行账号和密码输入
           JComboBox:下拉列表框,进行登陆角色选择
           
           更多可以参考这个博主文章或者官方文档,写得很全。[Swing 学习](https://blog.csdn.net/xietansheng/article/details/72814492)
           
           2.sql (连数据库请见 https://blog.csdn.net/qq_44654974/article/details/106676570)
         
          登陆注册:只需要进行用户检测和添加
          select * from usertable 
          Insert usertable values('Username','Password')
    

    三、代码

    登陆界面:

    package View;
    
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    public class Login extends JFrame {
    	public static String usern;
    
    	public static void main(String args[]) {
    		new Login();
    	}
    
    	Login() {
    		Content();
    		this.setTitle("企业员工健康系统");
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setLocation(600, 300);
    		this.setSize(800, 560);
    		this.setVisible(true);
    	}
    
    	void Content() {
    
    		// 背景设置
    		JLabel bg = new JLabel(new ImageIcon("Images/LoginIcon/LoginBg.png"));
    		this.setContentPane(bg);
    
    		// 登陆板块内容
    
    		JLabel logo = new JLabel("你的健康,我来负责");
    		logo.setBounds(20, 20, 180, 25);
    		logo.setFont(new Font(null, Font.BOLD, 16));// 字体设置
    		logo.setForeground(Color.orange);
    		this.add(logo);
    
    		JLabel label = new JLabel("欢迎登陆");
    		label.setBounds(380, 180, 120, 25);
    		label.setFont(new Font(null, Font.BOLD, 18));// 字体设置
    		this.add(label);
    
    		JLabel User = new JLabel("账号");
    		User.setBounds(320, 222, 30, 25);
    		User.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(User);
    
    		JLabel User1 = new JLabel(new ImageIcon("Images/LoginIcon/User.png"));
    		User1.setBounds(350, 220, 30, 30);
    		this.add(User1);
    
    		JLabel Password = new JLabel("密码");
    		Password.setBounds(320, 254, 30, 25);
    		Password.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(Password);
    
    		JLabel Password1 = new JLabel(new ImageIcon("Images/LoginIcon/Lock.png"));
    		Password1.setBounds(352, 250, 30, 30);
    		this.add(Password1);
    
    		JLabel Type = new JLabel("用户");
    		Type.setBounds(320, 286, 30, 25);
    		Type.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(Type);
    
    		JLabel Type1 = new JLabel(new ImageIcon("Images/LoginIcon/Type.png"));
    		Type1.setBounds(350, 280, 30, 30);
    		this.add(Type1);
    
    		// 文本框和按钮
    
    		JButton btn = new JButton("登陆");
    		btn.setBounds(320, 320, 70, 25);
    		this.add(btn);
    
    		JButton btn1 = new JButton("注册");
    		btn1.setBounds(430, 320, 70, 25);
    		this.add(btn1);
    
    		JTextField User2 = new JTextField();
    		User2.setBounds(380, 222, 120, 25);
    		this.add(User2);
    
    		JPasswordField Password2 = new JPasswordField();
    		Password2.setBounds(380, 254, 120, 25);
    		this.add(Password2);
    
    		String[] listData = new String[] { "员工", "企业管理者", "系统管理员" };
    		JComboBox<String> type1 = new JComboBox<String>(listData);
    
    		type1.setBounds(380, 284, 120, 25);
    		this.add(type1);
    
    		JPanel panel = new JPanel(null);
    		panel.setBounds(290, 170, 245, 200);
    		panel.setBackground(Color.WHITE);
    		panel.setBorder(BorderFactory.createLineBorder(Color.gray));
    		this.add(panel);
    
    		JLabel Mention = new JLabel("");
    		Mention.setBounds(310, 100, 280, 25);
    		Mention.setForeground(Color.RED);
    		Mention.setFont(new Font(null, Font.BOLD, 14));
    		this.add(Mention);
    
    		// 登陆事件
    		btn.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				// System.out.print(type1.getSelectedIndex());
    				String LoginID = User2.getText();
    				String password = Password2.getText();
    				String type = listData[type1.getSelectedIndex()];
    
    				if (new Data.Login().Check(LoginID, password, type)) {
    					dispose();
    
    					if (type.equals("员工")) {
    						usern = LoginID;
    						new EmployMain().open();
    					} else if (type.equals("企业管理者")) {
    						new Admin().open();
    					} else if (type.equals("系统管理员")) {
    						//
    						dispose();
    						new ADMIN1();
    					}
    
    				} else {
    					Mention.setText("输入信息有误,请重新输入");
    
    					try {
    
    						Thread.sleep(2000);
    
    					} catch (InterruptedException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    
    					// Mention.setText("2");
    
    				}
    
    			}
    
    		});
    
    		// 注册事件
    		btn1.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				dispose();
    				Register R = new Register();
    			}
    
    		});
    	}
    }
    

    效果展示:
    在这里插入图片描述
    注册界面:

    package View;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    public class Register extends JFrame{
    	String CODE;
    	String NAME;
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    	  new Register();
    	}
    
    	/**
    	 * Create the application.
    	 */
    	public Register() {
    		initialize();
    		this.setBounds(500, 300, 800, 560);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setTitle("注册界面");
    		this.setLocation(500, 300);
    		this.setVisible(true);
    	}
    
    	/**
    	 * Initialize the contents of the frame.
    	 */
    	private void initialize() {
    		
    		
    		
    		JLabel bg = new JLabel(new ImageIcon("Images/Register/BG2.jpg"));
    		this.setContentPane(bg);
    		
    		
    		JLabel label = new JLabel("欢迎注册");
    		label.setBounds(380, 180, 120, 25);
    		label.setFont(new Font(null, Font.BOLD, 18));// 字体设置
    		this.add(label);
    
    		JLabel User = new JLabel("账号");
    		User.setBounds(322, 222, 30, 25);
    		User.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(User);
    
    		JLabel User1 = new JLabel(new ImageIcon("Images/LoginIcon/User.png"));
    		User1.setBounds(350, 220, 30, 30);
    		this.add(User1);
    
    		
    		JLabel Password = new JLabel("密码");
    		Password.setBounds(322, 254, 30, 25);
    		Password.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(Password);
    
    		JLabel Password1 = new JLabel(new ImageIcon("Images/LoginIcon/Lock.png"));
    		Password1.setBounds(352, 250, 30, 30);
    		this.add(Password1);
           
    		VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    		//new VerificationCodeImgUtil().Excute();
    		V.Excute();
    	    CODE=V.code;
    		NAME=V.Name;
    		JLabel Check = new JLabel(new ImageIcon("Images/RadomCheck/"+NAME+".png"));
    		System.out.println("2:"+CODE);
    		Check.setBounds(322, 285, 120, 30);
    		this.add(Check);
    		
            
    		
    		
    		JTextField Check2 = new JTextField();
    		Check2.setBounds(444, 285, 55, 30);
    		this.add(Check2);
    		
    		// 文本框和按钮
    
    		JButton btn = new JButton("注册");
    		btn.setBounds(320, 325, 180, 25);
    		this.add(btn);
    		
    
    		JTextField User2 = new JTextField();
    		User2.setBounds(380, 222, 120, 25);
    		this.add(User2);
    
    		JPasswordField Password2 = new JPasswordField();
    		Password2.setBounds(380, 254, 120, 25);
    		this.add(Password2);
    		
    		JPanel panel = new JPanel(null);
    		panel.setBounds(290, 170, 245, 200);
    		panel.setBackground(Color.WHITE);
    		panel.setBorder(BorderFactory.createLineBorder(Color.gray));
    		this.add(panel);
    		
    		
    		JButton return1=new JButton("返回");
    		return1.setBounds(10, 10, 60, 25);
    		this.add(return1);
    		
    
    
    		
    		
    		return1.addActionListener(new ActionListener(){
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				dispose();
    				new Login();
    				
    			}
    			
    		});
    		//事件处理
    		
    		
    		JLabel Mention=new JLabel("");
    		Mention.setBounds(350, 100, 120, 25);
    		Mention.setForeground(Color.RED);
    		Mention.setFont(new Font(null,Font.BOLD,17));
    		this.add(Mention);
    		
    		
    		JLabel Readme=new JLabel("注册须知 ");
    		Readme.setBounds(620,200 , 120, 25);
    		Readme.setForeground(Color.RED);
    		this.add(Readme);
    		
    		JLabel Readme1=new JLabel(
    				 "1.账号长度为5位,若纯数字"
    				);
    		Readme1.setBounds(580,230 , 160, 25);
    		Readme1.setForeground(Color.RED);
    		this.add(Readme1);
    		
    		
    		JLabel Readme2=new JLabel(
    				"需要大于00100"
    				);
    		Readme2.setBounds(580,260 , 160, 25);
    		Readme2.setForeground(Color.RED);
    		this.add(Readme2);
    		
    		JLabel Readme3=new JLabel(
    				"2.密码需要在10位以内"
    				);
    		Readme3.setBounds(580,290 , 160, 25);
    		Readme3.setForeground(Color.RED);
    		this.add(Readme3);
    		
    		
    		btn.addActionListener(new ActionListener(){
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				//new VerificationCodeImgUtil().Excute();
    				 //	NAME=new VerificationCodeImgUtil().Name;
    				//Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    				System.out.print("Y");
    			  
    				
    				//Check 密码、账号规范和验证码匹配
    				String RadomCheck=Check2.getText();
    				String Password=Password2.getText();
    				String UserName=User2.getText();
    				//String CODE=new VerificationCodeImgUtil().getCode();
    			
    				System.out.println(CODE+" "+RadomCheck);
    				
    				if(RadomCheck.equals(CODE)){
    					//
    				   if(Password.length()>=10||UserName.length()!=5){
    					   Mention.setText("注意注册规范!");
    					   VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    						//new VerificationCodeImgUtil().Excute();
    						V.Excute();
    					    CODE=V.code;
    						NAME=V.Name;
    						Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    					   
    					   
    				   }else{
    					   if(new Data.Login().Checkexist(UserName)){
    						   Mention.setText("改用户名已注册!");
    						   VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    							//new VerificationCodeImgUtil().Excute();
    							V.Excute();
    						    CODE=V.code;
    							NAME=V.Name;
    							Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    					   }else{
    						   SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    						  String time= df.format(new Date());
    						   
    						   new Data.Login().InsertNewUser(UserName, Password,time);
    						   Mention.setText("注册成功!");
    						   try {
    								
    								Thread.sleep(2000);
    								
    							} catch (InterruptedException e1) {
    								// TODO Auto-generated catch block
    								e1.printStackTrace();
    							}
    						   Mention.setText("");
    					   }
    					   
    				   }
    					
    					
    //					dispose();
    //					new Login();
    				}else{//延时??
    					Mention.setText("验证码错误!");
    					 VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    						//new VerificationCodeImgUtil().Excute();
    						V.Excute();
    					    CODE=V.code;
    						NAME=V.Name;
    						Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    					try {
    						
    						Thread.sleep(2000);
    						
    					} catch (InterruptedException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    					
    				}
    
    			}
    			
    		});
    
    	}
    
    }
    
    

    效果展示:
    在这里插入图片描述

    展开全文
  • Java Web实现登陆注册页面前端与后台数据连接(代码+sql文件)。Java Web实现登陆注册页面前端与后台数据连接(代码+sql文件)。Java Web实现登陆注册页面前端与后台数据连接(代码+sql文件)。
  • JAVA登录注册页面实现前端与后台数据连接 登录成功则跳转至数据列表 登录不成功则弹出“登录失败提示框”
  • java登录注册页面

    2013-10-15 09:57:08
    java写的用户登录注册页面,单纯的servlet,包括增删查改功能,管理员登录成功可以查看删除用户!简单易懂!
  • 主要介绍了一个简单完整的登陆注册模块的实现过程,文章条理清晰,在实现过程中加深了对相关概念的理解,需要的朋友可以参考下
  • 比较炫酷实用的java登录界面,可以用来学习 或者直接使用,使用简单快捷
  • IDEA登陆注册页面.rar

    2019-07-10 15:08:48
    使用IDEA实现Java登陆注册页面。能够连接MySQL数据库,注册的时候可以将用户信息写入数据库,然后登陆的时候会从数据库中查找是否有这条信息,从而登陆。
  • java登陆界面代码

    2014-06-07 19:39:33
    基于mysql的用java编写的登陆界面窗口
  • java实现登录注册界面

    万次阅读 多人点赞 2019-12-13 20:42:32
    文章目录数据库设计Admin.javaLogin_Register.javaLogin.javaAdminRegister.javaRegister.java代码Admin.javaLogin_Register....既然只是一个登录和注册界面,数据库方面就只设计一个Admin表,表内有三个值。 ...

    数据库设计

    既然只是一个登录和注册的界面,数据库方面就只设计一个Admin表,表内有三个值。
    在这里插入图片描述
    id就存登录所需要的账号;
    name存名字;
    password存储密码

    Admin.java

    这个类代表用户的实体类,包含三个变量,并对其进行封装

    	private String id;                 //帐号
    	private String name;           //姓名
    	private String password;      //密码
    

    Login_Register.java

    主程序的入口,创建一个JFrame窗口,窗口包括两个待输入的文本框,以及登录和注册两个按钮。
    其中代码框使用JPasswordField类,这样就会使密码文本框中的内容显示星号。
    为登录和注册加监听器。
    在这里插入图片描述

    Login.java

    Login_Register中点击登录按钮后就会创建一个新的Login类,该类中会有一个JudgeAdmin方法,用于连接数据库,判断账号密码是否正确。
    如果账号正确,会弹出登录成功的窗口,否则弹出账号或密码错误的窗口。
    在这里插入图片描述

    AdminRegister.java

    用户注册的图形化界面,包含四个文本框和一个注册按钮。当点击注册按钮时,会创建一个新的Register类,把文本框中的变量传入Register类。
    在这里插入图片描述

    Register.java

    用于判断传来的数据是否符合规则,并向数据库添加新用户,
    当用户名和账号为空时,会弹出相应的窗口。
    在这里插入图片描述
    并且要求密码框和确认密码框中的密码完全一致,否则不能注册。
    如果所有的条件都满足,向数据库中添加数据,并弹出注册成功的窗口。

    代码

    Admin.java

    package src;
    /*
    管理员实体
    */
    
    public class Admin {
    	private String id;                 //编号
    	private String name;           //姓名
    	private String password;      //密码
    	void setID(String id) {
    	    this.id=id;
    	}
    	void setName(String name) {
    	    this.name=name;
    	}
    	void setPassword(String password) {
    	    this.password=password;
    	}
    	
    	String getID() {
    	    return this.id;
    	}
    	String getName() {
    	    return this.name;
    	}
    	String getPassword() {
    	    return this.password;
    	}
    
    }
    
    
    

    Login_Register.java

    package src;
    
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    
    public class Login_Register extends JFrame{    
    	
    	
    	Login_Register() {
    		init();
    	}
    	//登录界面初始化
    	public void init() {
    	JFrame frame = new JFrame("登录");
            frame.setLayout(null);
            
            JLabel nameStr = new JLabel("账号:");
            nameStr.setBounds(250, 200, 100, 25);
            frame.add(nameStr);
            
            JLabel passwordStr = new JLabel("密码:");
            passwordStr.setBounds(250, 250, 100, 25);
            frame.add(passwordStr);  
            
            JTextField userID = new JTextField();
            userID.setBounds(300, 200, 150, 25);
            frame.add(userID);
            
            JPasswordField password = new JPasswordField();
            password.setBounds(300, 250, 150, 25);
            frame.add(password);
            
            JButton buttonlogin = new JButton("登录");
            buttonlogin.setBounds(275, 300, 70, 25);
            frame.add(buttonlogin);
            
            JButton buttonregister = new JButton("注册");
            buttonregister.setBounds(375, 300, 70, 25);
            frame.add(buttonregister);  
            
            frame.setBounds(400, 100, 800, 640);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
            
            //为登录按钮添加监听器
             buttonlogin.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {
                    String ID = userID.getText();
                    String passwd = new String (password.getPassword());
                      
                    //创建一个Admin用户,把输入框中的用户名密码和提出来
                    Admin admin = new Admin();
                    admin.setID(ID);
                    admin.setPassword(passwd);
                    
                    //登录
                    Login login = new Login();
                    login.setAdmin(admin);
              
                    if(login.JudgeAdmin()==0) {
                    	//弹出账号或密码错误的窗口
                    	JOptionPane.showMessageDialog(null, "账号或密码错误", "账号或密码错误", JOptionPane.WARNING_MESSAGE);
                    	//清除密码框中的信息
                    	password.setText("");
                    	//清除账号框中的信息
                    	userID.setText("");
                    	
                    	//System.out.println("登陆失败");
                    } else {
                    	//弹出登录成功的窗口
                    	JOptionPane.showMessageDialog(null, "登陆成功", "登陆成功", JOptionPane.NO_OPTION);
                    	//点击确定后会跳转到主窗口
                    	frame.setVisible(false);
                        
                            
                    }
                   
                }
            });
             
             //为注册按钮添加监听器
             buttonregister.addActionListener(new ActionListener() {
            	 public void actionPerformed(ActionEvent e) {
            		 //注册页面
                     frame.setVisible(false);
            		 AdminRegister ar = new AdminRegister(); 
            	 }
             });
    	}
    	
        public static void main(String []args) { 
           //主程序
           //登录窗口
        	Login_Register login_register = new Login_Register();
        }
    }
    
    
    

    Login.java

    package src;
    /*
    处理用户登录
    */
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    
    public class Login {
    
    	Admin admin;
    	
    	void setAdmin(Admin admin) {
    		this.admin=admin;
    		//System.out.println(this.admin.getPassword()+"   " + this.admin.getID());
    	}
    	/*
    	 * JudgeAdmin()方法
    	 * 判断Admin的ID和密码是否正确,如果正确,显示登录成功
    	 * 如果错误,弹出一个窗口,显示账号或密码错误
    	 */
    	private String driver = "com.mysql.cj.jdbc.Driver";
        private String url = "jdbc:mysql://localhost:3306/hotelsql?serverTimezone=UTC&characterEncoding=utf-8";
        private String user = "root";
        private String password = "12481632";
        
        
    	
    	 public boolean login(Admin admin) throws SQLException, ClassNotFoundException {
    	    	String sql="select * from admin where id=? and password=?";
    	        
    	    	Class.forName(driver);
    	    	Connection conn = DriverManager.getConnection(url, user, password);
    	    	PreparedStatement ps = conn.prepareStatement(sql);
    	    	
    	        ps.setString(1, admin.getID());
    	        ps.setString(2, admin.getPassword());
    	        ResultSet rs = ps.executeQuery();
    	        int ans = 0;
    	        if(rs.next()) {
    	        	ans = 1;
    	        }  
    	        rs.close();
    	        ps.close();
    	        conn.close();
    	        if(ans == 1) {
    	        	return true;
    	        }
    	        else return false;
    	    }
    	int JudgeAdmin() {
    		
    		    try {
    		        if(login(this.admin)) {
    		        	System.out.println("登录成功");
    		        	return 1;
    		        }else {
    		            return 0;
    		        }
    		    }catch(Exception e) {
    		        //e.printStackTrace();
    		    	//System.out.println("!!!!!!!!!");
    		    }
    		return 0;
    		
    	}	
    }
    
    

    AdminRegister.java

    package src;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.SQLException;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    /*
     * 管理员注册界面
     * 
     */
    public class AdminRegister extends JFrame{
    	AdminRegister () {
    		init();
    	}
    	void init() {
                JFrame frame = new JFrame("注册管理员账号");
                frame.setLayout(null);
                
                JLabel nameStr = new JLabel("用户名:");
                nameStr.setBounds(250, 150, 100, 25);
                frame.add(nameStr);
            
                JLabel IDStr = new JLabel("账号:");
                IDStr.setBounds(250, 200, 100, 25);
                frame.add(IDStr);
    
                JLabel passwordStr = new JLabel("密码:");
                passwordStr.setBounds(250, 250, 100, 25);
                frame.add(passwordStr);  
                   
                JLabel confrimStr = new JLabel("确认密码:");
                confrimStr.setBounds(250, 300, 100, 30);
                frame.add(confrimStr);
                
                JTextField userName = new JTextField();
                userName.setBounds(320, 150, 150, 25);
                frame.add(userName);
    
                JTextField userID = new JTextField();
                userID.setBounds(320, 200, 150, 25);
                frame.add(userID);
    
                JPasswordField password = new JPasswordField();
                password.setBounds(320, 250, 150, 25);
                frame.add(password);
    
                JPasswordField confrimPassword = new JPasswordField();
                confrimPassword.setBounds(320, 300, 150, 25);
                frame.add(confrimPassword);
                
                JButton buttonregister = new JButton("注册");
                buttonregister.setBounds(350, 350, 70, 25);
                frame.add(buttonregister);
                
    
    
                frame.setBounds(400, 100, 800, 640);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
              //为注册按钮增加监听器
                buttonregister.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        String name = userName.getText();
                        String ID = userID.getText();
                        String passwd = new String (password.getPassword());
                        String confrimpasswd = new String (confrimPassword.getPassword());
                        
                        //创建Register类
                        Register register = new Register();
                        register.setID(ID);
                        register.setName(name);
                        register.setPassword(passwd);
                        register.setconfirmpasswd(confrimpasswd);
                        
                        //如果注册成功,返回登录界面
                        try {
    						if(register.JudgeRegister()) {
    
    						    frame.setVisible(false);
    						    Login_Register login_register = new Login_Register();
    						}
    					} catch (SQLException e1) {
    						// TODO Auto-generated catch block
    						//e1.printStackTrace();
    					} catch (ClassNotFoundException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    
                    }
                    
                });
    	}
    }
    
    
    

    Register.java

    package src;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    import javax.swing.JOptionPane;
    
    public class Register {
        String name;
        String ID;
        String password;
        String confirmpassword;
        
        private String driver = "com.mysql.cj.jdbc.Driver";
        private String url = "jdbc:mysql://localhost:3306/hotelsql?serverTimezone=UTC&characterEncoding=utf-8";
        private String user = "root";
        private String sqlpassword = "12481632";
        
        void setName(String name) {
            this.name = name;
        }
        void setID(String ID) {
            this.ID = ID;
        }
        void setPassword(String password) {
            this.password = password;
        }
        void setconfirmpasswd(String confirmpassword) {
            this.confirmpassword = confirmpassword;
        }
        
        
        //判断注册的账号是否符合规则
        boolean JudgeRegister() throws SQLException, ClassNotFoundException {
            
            if(this.name.equals("")) {
                JOptionPane.showMessageDialog(null, "用户名不能为空!", "用户名", JOptionPane.ERROR_MESSAGE);
                return false;
            }
            
            if(this.ID.equals("")) {
                JOptionPane.showMessageDialog(null, "账号不能为空!", "账号为空", JOptionPane.ERROR_MESSAGE);
                return false;
            }
            
            if(this.password.equals("")) {
                JOptionPane.showMessageDialog(null, "密码不能为空!", "密码为空", JOptionPane.ERROR_MESSAGE);
                return false;
            }
            
            if(!this.password.equals(this.confirmpassword)) {
                JOptionPane.showMessageDialog(null, "两次输入的密码不一致!", "密码不一致", JOptionPane.ERROR_MESSAGE);
                return false;
            }
            
            //符合规则,弹出注册成功的窗口,并将账号添加数据库
            JOptionPane.showMessageDialog(null, "注册成功");
            addAdmin();
            return true;
        }
        
        //向数据库添加Admin账户
        void addAdmin() throws ClassNotFoundException, SQLException {
        	String sql="insert into admin (id, name, password) values (?,?,?)";
        	Class.forName(driver);
        	try {
    	    	Connection conn = DriverManager.getConnection(url, user, sqlpassword);
    	    	PreparedStatement ps = conn.prepareStatement(sql);
    	    	ps.setString(1, this.ID);
    	        ps.setString(2, this.name);
    	        ps.setString(3, this.password);
    	        ps.executeUpdate();
    	        ps.close();	
    	        conn.close();
    	        
        	}catch(SQLException ex) {
        		System.out.println("添加用户失败!");
        	}
        	
        }
    }
    
    
    展开全文
  • 展开全部这是我自己做的一个管理系统的登录界面,代码虽然有点繁琐,不过简单易懂,你根据自己的需要32313133353236313431303231363533e4b893e5b19e31333262353465进行修改吧。import java.awt.Dimension;import ...

    展开全部

    这是我自己做的一个管理系统的登录界面,代码虽然有点繁琐,不过简单易懂,你根据自己的需要32313133353236313431303231363533e4b893e5b19e31333262353465进行修改吧。

    import java.awt.Dimension;

    import java.awt.GridLayout;

    import java.awt.Toolkit;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.sql.Statement;

    import javax.swing.JDialog;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JPanel;

    import javax.swing.JPasswordField;

    import javax.swing.JTextField;

    /**

    *

    * @author mzhe

    *

    */

    class Loginfrm extends JDialog implements ActionListener

    {

    JLabel l_name,l_pass,l_error;

    JTextField t_name;

    JButton b_enter,b_cancle,b_clear;

    JPanel pan1,pan2,pan3,pan4;

    JPasswordField t_pass;

    String sname,spass;

    int sunit;

    NetConn sql;

    Statement sqll;

    ResultSet rs;

    Librarybox lbox;

    int until=0;

    Loginfrm(JFrame f,String s)

    {

    //界面布局

    super(f,s);

    l_name=new JLabel("名字:");

    l_pass=new JLabel("密码:");

    l_error=new JLabel("请输入用户名和密码登录");

    t_name=new JTextField("",10);

    t_pass=new JPasswordField("",10);

    t_pass.setEchoChar('*');

    b_enter=new JButton("确定");

    b_enter.addActionListener(this);

    b_cancle=new JButton("取消");

    b_cancle.addActionListener(this);

    b_clear=new JButton("清除");

    b_clear.addActionListener(this);

    pan1=new JPanel();

    pan2=new JPanel();

    pan3=new JPanel();

    pan4=new JPanel();

    pan1.add(l_name);pan1.add(t_name);

    pan2.add(l_pass);pan2.add(t_pass);

    pan3.add(l_error);

    pan4.add(b_enter);pan4.add(b_cancle);pan4.add(b_clear);

    setLayout(new GridLayout(4,1));

    add(pan1);add(pan2);add(pan3);add(pan4);

    //建立数据库连接

    sql=new NetConn();

    //设置窗口大小

    setSize(300,300);

    setVisible(false);

    //得到屏幕信息以便使框架居中显示

    Dimension screeSize = Toolkit.getDefaultToolkit().getScreenSize();

    int screeWidth=screeSize.width;

    int screeHeight=screeSize.height;

    //得到框架的大小信息

    Dimension frameSize=this.getSize();

    int x=(screeWidth-frameSize.width)/2;

    int y=(screeHeight-frameSize.height)/2;

    this.setLocation(x, y);

    }

    public void actionPerformed(ActionEvent e)

    {

    //单击确定按钮的事件处理程序

    if(e.getSource()==b_enter)

    {

    //如果连续登录次数小于4

    if(until<=4)

    {

    //如果用户名或者密码为空,将显示提示信息

    if(t_name.getText().equals("")||t_pass.getText().equals(""))

    {

    l_error.setText("用户名和密码不能为空");

    }

    else

    {

    try

    {

    sqll=sql.connect();

    //根据用户名查询

    rs=sqll.executeQuery("SELECT * FROM users where username="+"'"+t_name.getText()+"'");

    //遍历查询得到的结果集

    while(rs.next())

    {

    sname=rs.getString(2);

    spass=rs.getString(3);

    //得到登录用户的级别

    sunit=Integer.parseInt(rs.getString(4));

    //如果密码正确

    if(t_pass.getText().equals(spass))

    {

    //判断用户的级别,根据不同的级别,显示不同的菜单

    switch(sunit)

    {

    case 1:

    {

    l_error.setText("登录成功");

    t_name.setText("");

    t_pass.setText("");

    lbox=new Librarybox();

    lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    lbox.setResizable(false);

    lbox.bookfi.setEnabled(true);

    lbox.bookse.setEnabled(true);

    lbox.bookth.setEnabled(true);

    lbox.bookfo.setEnabled(true);

    lbox.mi_system_manger.setEnabled(true);

    lbox.mi_system_login.setEnabled(false);

    lbox.setVisible(true);

    this.dispose();

    break;

    }

    case 2:

    {

    l_error.setText("登录成功");

    t_name.setText("");

    t_pass.setText("");

    lbox=new Librarybox();

    lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    lbox.setResizable(false);

    lbox.bookfi.setEnabled(false);

    lbox.bookse.setEnabled(false);

    lbox.bookth.setEnabled(true);

    lbox.bookfo.setEnabled(false);

    lbox.mi_system_manger.setEnabled(false);

    lbox.mi_system_login.setEnabled(false);

    lbox.setVisible(true);

    this.dispose();

    break;

    }

    case 3:

    {

    l_error.setText("登录成功");

    t_name.setText("");

    t_pass.setText("");

    lbox=new Librarybox();

    lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    lbox.setResizable(false);

    lbox.bookfi.setEnabled(true);

    lbox.bookse.setEnabled(false);

    lbox.bookth.setEnabled(false);

    lbox.bookfo.setEnabled(true);

    lbox.mi_system_manger.setEnabled(false);

    lbox.mi_system_login.setEnabled(false);

    lbox.fi_msglabel_user.setEnabled(false);

    lbox.setVisible(true);

    this.dispose();

    break;

    }

    }

    }

    else

    {

    l_error.setText("用户名或密码错误!");

    until++;

    }

    }

    }

    catch(SQLException e2)

    {

    e2.printStackTrace();

    }

    }

    }

    //超出登录次数

    else

    {

    l_error.setText("你已经超出登录次数");

    t_name.setEnabled(false);

    t_pass.setEnabled(false);

    b_enter.setEnabled(false);

    b_clear.setEnabled(false);

    }

    }

    //单击清除按钮的事件处理程序

    else if(e.getSource()==b_clear)

    {

    t_name.setText("");

    t_pass.setText("");

    l_error.setText("请输入用户名和密码登录");

    }

    //单击取消按钮的事件处理程序

    else if(e.getSource()==b_cancle)

    {

    dispose();

    }

    }

    }

    如果你比较认可的话,请采纳吧,不给分也没关系。只希望对你有用。

    本回答被提问者采纳

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 主要介绍了AJAX+JAVA用户登陆注册验证的实现代码,通过ajax异步刷新页面验证用户输入的账号密码是否在数据库中存在。非常具有实用价值,需要的朋友可以参考下
  • 一个简单的注册登陆java代码,包括注册登陆、验证。密码重提输入,检测用户名是否有重名等
  • Java web 登陆注册页面详细步骤

    千次阅读 2019-12-13 08:29:04
    1,创建数据库USER表 2,导入Jar包和Bootstrap框架 3,编写3个HTML界面,分别为...5,编写UserDao数据库登陆注册方法 private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); //注...
  • javaswing编写的一个简单得登陆注册界面,刚接触java一个学期,里面是个人对java对象序列化的理解
  • java登陆界面实验报告

    2021-03-03 11:51:45
    1.设计思想首先定义姓名name,用消息框输入姓名和密码,然后使用类型转换生成六位验证字符串,用消息框...2.程序流程图3.源程序package 实验任务四;import java.util.Scanner;import javax.swing.JOptionPane;publ...
  • java编写注册页面

    2021-03-03 14:04:50
    如何用Java编写用户注册界面?界面建议用可视化来做,美观且便捷。下面这个是完全用代码写的,仅供参考。 import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.sql.*; public class ...
  • java登陆注册界面参考的资料和代码

    千次阅读 2016-01-02 16:22:27
    1.基础代码集锦: ... http://codecloud.net/java-web-check-40.html http://www.jb51.net/article/69909.htm http://zhidao.baidu.com/link?url=dsz8O4VdusTi24snsuvW5tnMIL
  • Java实现登录与注册页面

    万次阅读 多人点赞 2019-05-22 09:48:25
    java实现的登录与注册页面,实现了客户端(浏览器)到服务器(Tomcat)再到后端(servlet程序)数据的交互。 注册的html代码,页面非常丑!!请见谅。。 <body> <fieldset id=""> <legend>注册...
  • 本人初学,操作oracle数据库然后对图形界面登陆注册不是很熟悉,望举例说明,谢谢!
  • JAVA设计qq的登陆界面

    2017-07-04 11:39:07
    JAVA设计qq的登陆界面
  • 综合设计题(满分100分)做一个登录注册页面:(可上网)一、语言和环境a)实现语言Java搜索综合设计题(满分100分)做一个登录注册页面:(可上网)一、语言和环境a)实现语言Javab)...综合设计题(满分100分) 做一个登录注册...
  • 基于HTML5+css+JS的精美登陆注册界面
  • 使用Java编写一个简单的 JFrame登陆注册界面(一)

    万次阅读 多人点赞 2019-03-21 15:07:38
    使用Java awt 及 Swing 组件编写一个简单的登陆界面。 示例: 下面开始介绍如何编写。 通过调用实例化一个JFrame框架,在框架内嵌入JPanel,在JPanel上进行添加控件。 package com.main.frame; import java.awt.*...
  • java代码实现登录注册sqlserverjava代码实现登录注册sqlserver
  • 学习JAVA的过程当中,登陆界面是多数人第一个实现的小程序。今天咱们就来作一下登陆界面。固然在动手写代码以前咱们要先作一些准备工做,咱们要先了解JAVA提供的图形界面类有哪些,以及有哪些经常使用的组件类和辅助...
  • 基于HTML5+css+JS的精美登陆注册界面-------------------------------
  • Java用户登陆界面例子 代码

    千次阅读 2021-02-12 12:42:33
    原标题:Java用户登陆界面例子 代码好久没有总结这个月的学习了,先唠叨几句,这个月工作烂的一塌糊涂。跟老板吵架,然后辞职。今天是递交辞职申请的倒数第三天。Java用户登陆这块,主要还是学到了新的类:1,边界...
  • 注册登录Javaswing

    2018-11-30 09:19:42
    通过swing画出界面,连接数据库,用户通过数据库验证正确之后方可登录

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,012
精华内容 18,004
关键字:

java登陆注册界面

java 订阅