Java如何实现简单登陆界面
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了Java如何实现简单登陆界面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现简单登陆界面文章都会有所收获,下面我们一起来看看吧。1、首先需
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
科技互联网龙头
互联网科技公司的优势
互联网科技资迅
中资互联网科技
卓越科技(互联网 )
南京欣网互联网科技
米客互联网科技
亿人帮互联网科技
成都互联网科技公司100强
互联网经济与金融科技
岳阳华臻互联网科技有限公司
智腾互联网科技有限公司
苏州五指互联网络科技有限
用友工业互联网科技发展
南通创西澳互联网科技有限公司
信承诺互联网科技有限公司
云南互联网科技学费
绵阳真晨互联网科技有限公司
互联网金融金融科技
科技发展第三阶段互联网时代
互联网科技海报
中国互联网科技发展
互联网金融科技创新
奇士达互联网科技
互联网金融科技委员会
汽车互联网创新科技园
洛阳昕诺飞互联网科技有限公司
天津腾达互联网科技有限公司
南通创西澳互联网科技有限公司
皮皮虾互联网科技有限公司