Java如何实现简单登陆界面
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了Java如何实现简单登陆界面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现简单登陆界面文章都会有所收获,下面我们一起来看看吧。1、首先需
千家信息网最后更新 2025年01月19日Java如何实现简单登陆界面
这篇文章主要介绍了Java如何实现简单登陆界面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现简单登陆界面文章都会有所收获,下面我们一起来看看吧。
1、首先需要建立一个类,在这里,我命名为newLogin
newLogin类的代码如下
package p4;import java.awt.Dimension;import java.awt.Font;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JRadioButton;import javax.swing.JTextField;public class newLogin extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; private Connection con = null; private Statement statement = null; private ResultSet res = null; private ButtonGroup buttongroup = new ButtonGroup(); private MyPanel jp = new MyPanel(); private JLabel ul = new JLabel("用户名:"); private JLabel pl = new JLabel("密 码:"); private JLabel ts = new JLabel(""); private JTextField uname = new JTextField(); private JPasswordField pword = new JPasswordField(); private JRadioButton[] butArray = { new JRadioButton("学生",true), new JRadioButton("教师") }; private JButton login = new JButton("登陆"); private JButton reset = new JButton("重置"); public newLogin() { addListener(); initialFrame(); } private void initialFrame() { Font font = new Font("宋体",Font.BOLD,12); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("登陆"); jp.setLayout(null); ul.setBounds(100, 30, 60, 30); jp.add(ul); uname.setBounds(170, 30, 140, 30); jp.add(uname); pl.setBounds(100, 80, 60, 30); pword.setBounds(170, 80, 140, 30); jp.add(pl); jp.add(pword); ts.setBounds(100, 160, 200, 50); jp.add(ts); ts.setFont(font); login.setBounds(100, 220, 70, 30); jp.add(login); login.setFont(font); reset.setBounds(220, 220, 70, 30); jp.add(reset); reset.setFont(font); add(jp); setResizable(false); buttongroup.add(butArray[0]); buttongroup.add(butArray[1]); butArray[0].setBounds(120, 130, 100, 50); jp.add(butArray[0]); butArray[1].setBounds(220, 130, 100, 50); jp.add(butArray[1]); butArray[0].setContentAreaFilled(false); butArray[1].setContentAreaFilled(false); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int centerX = screenSize.width/2; int centerY = screenSize.height/2; int w = 427; int h = 331; setBounds(centerX-w/2, centerY-h/2, w, h); setVisible(true); uname.requestFocus(true); getContentPane().add(jp); jp.getRootPane().setDefaultButton(login); } private void addListener() { this.login.addActionListener(this); this.uname.addActionListener(this); this.pword.addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == uname) { pword.requestFocus(); } if(e.getSource() == pword) { butArray[0].requestFocus(); } if(e.getSource() == butArray[0]||e.getSource() == butArray[1]||e.getSource() == login) {// this.ts.setText("正在为您努力加载,请稍等......"); int type = this.butArray[0].isSelected()?0:1; String username = this.uname.getText().trim(); char[] p = this.pword.getPassword(); String password = String.valueOf(p).trim(); if(username.equals("")) { JOptionPane.showMessageDialog(this, "请输入用户名!","错误",JOptionPane.ERROR_MESSAGE); ts.setText(""); return ; } if(password.equals("")) { JOptionPane.showMessageDialog(this, "请输入密码!","错误",JOptionPane.ERROR_MESSAGE); ts.setText(""); return ; } try { con = new connection().getConnection(); //调用自己写的一个数据库连接类 statement = con.createStatement(); if(type == 0) { String sql = "select * from stuuser where "+ "username_stu='"+username+"'and password_stu='"+password+"'"; res = statement.executeQuery(sql); if(res.next()) { JOptionPane.showMessageDialog(this, "登录成功!","提示",JOptionPane.INFORMATION_MESSAGE); this.dispose(); } else { JOptionPane.showMessageDialog(this, "用户名或密码错误!","错误",JOptionPane.ERROR_MESSAGE); ts.setText(""); uname.setText(""); pword.setText(""); } //关闭数据库连接 if(res != null) { res.close(); } if(statement != null) { statement.close(); } if(con != null) { con.close(); } } else { String sql = "select * from teauser where "+ "username_tea='"+username+"'and password_tea='"+password+"'"; res = statement.executeQuery(sql); if(res.next()) { String spec_name = res.getString(1); JOptionPane.showMessageDialog(this, "登录成功!","提示",JOptionPane.INFORMATION_MESSAGE); this.dispose(); } else { JOptionPane.showMessageDialog(this, "用户名或密码错误!","错误",JOptionPane.ERROR_MESSAGE); ts.setText(""); uname.setText(""); pword.setText(""); } //关闭数据库连接 if(res != null) { res.close(); } if(statement != null) { statement.close(); } if(con != null) { con.close(); } } }catch(SQLException ea) { ea.printStackTrace(); } } else if(e.getSource() == reset) { uname.setText(""); pword.setText(""); } }}
2、编写数据库连接类,在这里命名为connection,然后在类里写一个获取连接的放回,并返回一个连接。
connection类的代码如下:
package p4;import java.sql.Connection;import java.sql.DriverManager;//import java.sql.ResultSet;import java.sql.SQLException;//import java.sql.Statement;public class connection { private Connection con = null;// private Statement statement = null;// private ResultSet res = null; String driver = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/Stu_manager?serverTimezone=Asia/Shanghai"; String name = "root"; String passwd = "123456"; public connection() { } public Connection getConnection() { try{ Class.forName(driver).newInstance(); con = DriverManager.getConnection(url,name,passwd); }catch(ClassNotFoundException e){ System.out.println("对不起,找不到这个Driver"); e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } return con; }}
3、在MySQL数据库中需建立两个用户表,分别用来存储不同用户的登陆账号和密码,这里学生用户表为stuuser,教师用户表为teauser,建表的SQL语句如下:
stuuser表:
create table stuuser( username_stu varchar(20) primary key, password_stu char(20) not null,)ENGINE=InnoDB DEFAULT CHARSET=utf8;
teauser表:
create table teauser( username_tea varchar(20) primary key, password_tea char(20) not null,)ENGINE=InnoDB DEFAULT CHARSET=utf8;
关于"Java如何实现简单登陆界面"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Java如何实现简单登陆界面"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
用户
登陆
错误
数据
数据库
界面
密码
用户名
知识
用户表
成功
代码
内容
学生
教师
篇文章
提示
登录
输入
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全出现问题图片
学士论文数据库
软件开发连接器
安然网络技术传媒
公司数据库前端
网络技术的书
服务器设置静态路由
数据库课程设计学校财务管理系统
组织学习网络安全工作责任制
cbm数据库属于什么数据库
网络安全防护人人有责
谷歌服务器能部署项目吗
sql数据库excel
维护网络安全内容建设管理
数据库系统减少了数据冗余对不对
生活中网络安全的素材
中山服务器宣传视频
谷歌地球无法连接到数据库贴吧
mac搭建svn服务器
网络安全什么时候实施的
温州巡检管理软件开发
杭州浩博网络技术
校园网络安全体系构建与实践研究
武大网络安全学院考研分数线
消防员网络安全学习
贵阳日报网络安全系统
景德镇企业服务器哪家比较好
win8.1从服务器返回
顺义区运营软件开发介绍
卡位面服务器