Java如何实现简单登陆界面
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍了Java如何实现简单登陆界面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现简单登陆界面文章都会有所收获,下面我们一起来看看吧。1、首先需
千家信息网最后更新 2025年11月12日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安全错误
数据库的锁怎样保障安全
B级网络安全突发事件
企业信用基础数据库
游戏换代理原数据库
数据库nv12
关于网络技术发展的认识
数据库恢复主要的技术是什么
软件开发培训班有用吗
创建数据库表命令行
华为服务器经销商
洛阳大通网络技术有限公司徐
如何介绍网络技术基础
数据库的根本目的目标是什么
京东商家数据库设计
hibernate连接数据库
重庆网络安全和信息化委员会
北京手机应用软件开发公司有哪些
派出所上门查网络安全宣传周
有什么简单的软件开发
华为snkrs无法连接服务器
青少年网络安全犯罪
软件开发模块确认书
winfrom 云服务器
软件开发工作流程及岗位职责图
直连数据库技术的特点
安卓软件开发服务
软件开发内部优势
有什么网络技术在家就能工作的
石化软件开发
青菱附近的软件开发公司
武汉网络安全大专招聘