用javaSwing和mysql数据库做的一个登录页面

用javaSwing和mysql数据库做的一个登录页面

一:首先在eclipse中新建一个java工程

二:然后新建一个包,并且在包中新建两个类:一个事登录用的界面(Login)类,一个事连接数据库的(jdbc)类我建立的是p4这个包

三:导入包mysql-connector-java-5.1.41-bin.jar并且要添加到构建路径不添加到构建路径项目工程不会读出来的

四:编写那个界面Login类

那个界面类的源代码如下:

package p4;

import java.awt.Font;

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 extends JFrame implements ActionListener {

private JPanel pan = new JPanel();

private JLabel namelab = new JLabel("用户名");

private JLabel passlab = new JLabel("密 码");

private JTextField nametext = new JTextField();

private JPasswordField passtext = new JPasswordField();

public JButton denglu = new JButton("登录");

public JButton zhuce = new JButton("注册");

public JButton updatepass = new JButton("修改密码");

public JButton deleteuser = new JButton("删除用户");

public Login(){

Font font = new Font("宋体",Font.BOLD,12);

super.setTitle("欢迎登录本系统");

pan.setLayout(null);

namelab.setBounds(20,20,60,30);

nametext.setBounds(90,20,140,30);

passlab.setBounds(20,60,60,30);

passtext.setBounds(90,60,140,30);

denglu.setBounds(30,120,90,20);

zhuce.setBounds(140,120,90,20);

updatepass.setBounds(30,150,90,20);

deleteuser.setBounds(140,150,90,20);

pan.add(namelab);

pan.add(nametext);

pan.add(passlab);

pan.add(passtext);

pan.add(denglu);

pan.add(zhuce);

pan.add(updatepass);

pan.add(deleteuser);

passtext.setFont(font);

zhuce.setFont(font);

updatepass.setFont(font);

deleteuser.setFont(font);

denglu.addActionListener(this);

zhuce.addActionListener(this);

updatepass.addActionListener(this);

deleteuser.addActionListener(this);

super.add(pan);

super.setSize(300,250);

super.setVisible(true);

}

public static void main(String []args){

new Login();

}

@Override

public void actionPerformed(ActionEvent arg0) {

if(arg0.getSource()==denglu){

denglu();

}else if (arg0.getSource()==zhuce){

zhuce();

}else if (arg0.getSource()==updatepass){

updatepass();

}else if (arg0.getSource()==deleteuser){

deleteuser();

}

}

//登录按钮的事件处理函数

public void denglu(){

Jdbcs d =new Jdbcs();

String username = nametext.getText();

String password = passtext.getText();

if(d.compare(username, password)){

aJOptionPane.showMessageDialog(null,"登录成功!");

super.setVisible(false);

}

}

//注册按钮触发后的事件处理函数

public void zhuce(){

Jdbcs d =new Jdbcs();

String username = nametext.getText();

String password = passtext.getText();

d.insert(username,password);

}

//修改密码按钮触发后的事件处理函数

public void updatepass(){

pan.setEnabled(false);

JFrame frame1 = new JFrame("密码修改");

frame1.setSize(250, 200);

JPanel updatepass = new JPanel();

JLabel namelab1 = new JLabel("用户名");

JLabel passlab1 = new JLabel("旧密码");

JLabel newpasslab = new JLabel("新密码");

JTextField nametext1 = new JTextField(""+nametext.getText());

JPasswordField passtext1 = new JPasswordField();

JPasswordField newpasstext = new JPasswordField();

JButton ok = new JButton("修改");

JButton resert = new JButton("重置");

updatepass.setLayout(null);

namelab1.setBounds(5,5,70,20);

nametext1.setBounds(80,5,120,20);

passlab1.setBounds(5,30,70,20);

passtext1.setBounds(80,30,120,20);

newpasslab.setBounds(5,60,70,20);

newpasstext.setBounds(80,60,120,20);

ok.setBounds(10,110,60,20);

resert.setBounds(90,110,60,20);

updatepass.add(namelab1);

updatepass.add(nametext1);

updatepass.add(passlab1);

updatepass.add(passtext1);

updatepass.add(newpasslab);

updatepass.add(newpasstext);

updatepass.add(ok);

updatepass.add(resert);

frame1.add(updatepass);

frame1.setVisible(true);

ok.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent arg0) {

Jdbcs d =new Jdbcs();

String username = nametext1.getText();

String password1 = passtext1.getText();

String newpassword = newpasstext.getText();

if(d.update(username,password1,newpassword)){

frame1.setVisible(false);

}

}

});

//重置文本框 里的内容

resert.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent arg0) {

nametext1.setText("");

passtext1.setText("");

newpasstext.setText("");

}

});

}

//删除用户按钮触发后的事件处理函数

public void deleteuser(){

String username = nametext.getText();

String password = passtext.getText();

Jdbcs s = new Jdbcs();

s.delete(username,password);

}

}

五:写连接数据库的代码以及用到的操作的源代码

jdbc这个类的源代码如下:

package p4;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JOptionPane;

public class Jdbc {

Connection con = null;

Statement statement = null;

ResultSet res = null;

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost:3306/user";

String name = "root";

String passwd = "123456";

public Jdbc(){

try{

Class.forName(driver).newInstance();

con = DriverManager.getConnection(url,name,passwd);

statement = con.createStatement();

}catch(ClassNotFoundException e){

System.out.println("对不起,找不到这个Driver");

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}catch(Exception e){

e.printStackTrace();

}

}

//对用户信息的修改实际上就是对密码的修改

public boolean update(String username1,String password1,String newpassword){

boolean judge = false;

boolean s =compare(username1,password1);

if(s){

String sql = "update user set password=\""+newpassword+"\"where username=\""+username1+"\"";

try {

int a = statement.executeUpdate(sql);

if(a==1){

JOptionPane.showMessageDialog(null,"密码修改成功!");

judge = true;

}

con.close();

statement.close();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "用户不存在!");

e.printStackTrace();

}

}

else{

JOptionPane.showMessageDialog(null, "修改失败");

}

return judge;

}

//删除用户信息

public void delete(String username,String password){

if(compare(username,password)){

JOptionPane.showMessageDialog(null,"已经完成删除");

}else{

return;

}

String sql = "delete from user where username=\""+username+"\"";

try{

int a = statement.executeUpdate(sql);

con.close();

statement.close();

}catch(SQLException e){

JOptionPane.showMessageDialog(null,"不存在该用户!");

e.printStackTrace();

}

}

//用户注册功能的实现,添加数据

public void insert(String username,String password){

String sql = "insert into user(username,password) values(\""+username+"\",\""+password+"\")";

try{

int a = statement.executeUpdate(sql);

con.close();

statement.close();

if(a==1){

JOptionPane.showMessageDialog(null,"注册成功!");

}

}catch(SQLException e){

JOptionPane.showMessageDialog(null, "对不起该用户名已经有了!");

e.printStackTrace();

}

}

//对比用户名和密码是不匹配

public boolean compare(String username,String password){

boolean m = false;

String sql = "select password from user where username=\""+username+"\"";

try{

res = statement.executeQuery(sql);

if(res.next()){

String pa = res.getString(1);

System.out.println(pa+" " +password);

if(pa.equals(password)){

m = true;

}else {

JOptionPane.showMessageDialog(null, "密码错误!");

}

}else {

JOptionPane.showMessageDialog(null, "用户名不存在!");

}

res.close();

con.close();

statement.close();

}catch(SQLException e){

e.printStackTrace();

}

return m;

}

}

六:代码写完了 但是数据库还没有建立吧,那就建立数据库吧

先建立一个数据库

用到命令是

create database user;

然后新建一个表:

use user;

create table user(username varchar(20) primary key, password varchar(20));

现在表是空的,往表中添加几个数据:

insert into user(username,password) values("A",“123456”),("B","asdfg");

用javaSwing和mysql数据库做的一个登录页面相关教程

java做一个数据库网站,用javaSwing和mysql数据库做的一个登录页面相关推荐

  1. 计算机毕业设计Java国漫论坛网站(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java国漫论坛网站(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java国漫论坛网站(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

  2. 计算机毕业设计Java爱馨敬老院网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java爱馨敬老院网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java爱馨敬老院网站(源码+系统+mysql数据库+lw文档) 项目架构:B/S架构 开发语言:Java ...

  3. 计算机毕业设计Java星星电影购票网站(源码+系统+mysql数据库+lw文档

    计算机毕业设计Java星星电影购票网站(源码+系统+mysql数据库+lw文档 计算机毕业设计Java星星电影购票网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  4. 计算机毕业设计Java星星电影购票网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java星星电影购票网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java星星电影购票网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  5. 计算机毕业设计Java计算机组成原理教学网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java计算机组成原理教学网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java计算机组成原理教学网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构 ...

  6. 计算机毕业设计Java学校旧书交易网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java学校旧书交易网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java学校旧书交易网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  7. 计算机毕业设计Java的家居销售网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java的家居销售网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java的家居销售网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 开 ...

  8. 计算机毕业设计Java大学生兼职招聘网站(源码+系统+mysql数据库+lw文档

    计算机毕业设计Java大学生兼职招聘网站(源码+系统+mysql数据库+lw文档 计算机毕业设计Java大学生兼职招聘网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架 ...

  9. 计算机毕业设计Java校园摄影爱好者交流网站(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java校园摄影爱好者交流网站(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java校园摄影爱好者交流网站(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构 ...

最新文章

  1. 【golang程序包推荐分享】go-ini、viper、godoc
  2. 帆软css修改按钮立体,FineReport 控件的 CSS 样式
  3. python打开一个文件-python下几种打开文件的方式
  4. AI眼中的世界是什么样子?谷歌新研究找到了机器的视觉概念
  5. Dora.Interception: 一个为.NET Core度身定制的AOP框架
  6. 使用Mockito在Java中进行模拟入门
  7. 史上最全jmeter逻辑控制器案例详解
  8. 多方计算时,每次结果都存在着巨大隐患,如何解决
  9. java中byte装箱和装箱_Java包装类、拆箱和装箱详解
  10. javafx 通过 css 去掉 tableView 滑动条
  11. InfoPath基础应用教程-2 表单中的规则(1)
  12. DOS 批处理高级教程精选合编20080331
  13. 工业相机录像丢帧的解决方案
  14. 都说程序员秃头996,你见过游戏3D建模师爆肝007吗?
  15. 校园导航系统课程设计,#校园管理系统
  16. C/C++ - http协议发送字段,文件,单个和多张图片
  17. 7z怎么解压linux,7z 常用解压命令
  18. 怎样大幅度地提升硬盘的速度
  19. android root 模拟点击,免ROOT实现模拟点击任意位置
  20. 在中国,40岁程序员是如何工作的?

热门文章

  1. 制作大屏幕实时数据可视化需要哪些大数据技术?
  2. Alien Skin Exposure X6软件最新版本如何下载与安装教程
  3. HikariCP Unable to acquire JDBC Connection] with root cause问题查询
  4. 扫描的pdf文件怎么编辑修改
  5. 达梦两个表模糊查询_Excel财务记账管理套表,弹窗快捷录入,多维查询汇总,告别加班...
  6. MATLAB代码:基于混合整数规划的微网储能电池容量规划 关键词:储能配置 电池容量规划 微网 混合整数规划
  7. 智能车浅谈——17届极速越野篇
  8. Kettle 8.2 如何创建资源库
  9. 应用Grunt进行CSS压缩
  10. 轻松复制苏宁易购多个商品图片分类保存