From 9e167aa1cda10f5dcd036bd7f5cc00a17c4f6cb9 Mon Sep 17 00:00:00 2001 From: 86158 <86158@172.20.10.3> Date: Tue, 14 Dec 2021 20:10:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B9=8B=E5=89=8D=E4=BF=AE=E6=94=B9=E4=BA=86?= =?UTF-8?q?=E4=B9=8B=E5=90=8E=E5=BF=98=E4=BA=86=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/STU3event/accountEvents.java | 115 ++++++++++++ src/STU3event/closeEvent.java | 18 ++ src/STU3event/dengluEvent.java | 311 +++++++++++++++++++++++++++++++ src/STU3event/zhuceEvent.java | 40 ++++ src/sql/mysql.java | 282 ++++++++++++++++++++++++++++ src/src/module-info.java | 8 + src/stu1/Register.java | 148 +++++++++++++++ src/stu1/STU1.java | 30 +++ src/stu1/STU2.java | 137 ++++++++++++++ src/stu1/changeaccount.java | 93 +++++++++ src/stu1/changemima.java | 75 ++++++++ src/stu1/manage.java | 309 ++++++++++++++++++++++++++++++ 12 files changed, 1566 insertions(+) create mode 100644 src/STU3event/accountEvents.java create mode 100644 src/STU3event/closeEvent.java create mode 100644 src/STU3event/dengluEvent.java create mode 100644 src/STU3event/zhuceEvent.java create mode 100644 src/sql/mysql.java create mode 100644 src/src/module-info.java create mode 100644 src/stu1/Register.java create mode 100644 src/stu1/STU1.java create mode 100644 src/stu1/STU2.java create mode 100644 src/stu1/changeaccount.java create mode 100644 src/stu1/changemima.java create mode 100644 src/stu1/manage.java diff --git a/src/STU3event/accountEvents.java b/src/STU3event/accountEvents.java new file mode 100644 index 0000000..e64d88d --- /dev/null +++ b/src/STU3event/accountEvents.java @@ -0,0 +1,115 @@ +package STU3event; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.awt.*; +import javax.swing.JButton; +import javax.swing.JOptionPane; +import javax.swing.JTextField; + + + +import sql.mysql; +import stu1.Register; + +public class accountEvents implements ActionListener{ + + JTextField alluse; + JButton alljbutton; + Statement sql; + ResultSet rs; + @Override + public void actionPerformed(ActionEvent e) { + + try { + + alluse=(JTextField)e.getSource(); + if(alluse!=null) { + alluee(); + } + }catch (Exception e1) { + + alljbutton=(JButton) e.getSource(); + if(alljbutton.getName()=="zhuce"){ + Jbtton(); + System.out.print("成功进入"); + } + } + + } +void alluee() { + + + if(alluse.getName()=="nameText") { + Register.zhanghaoText.requestFocus(); + } + if(alluse.getName()=="zhanghaoText") { + Register.mimaText.requestFocus(); + } + if(alluse.getName()=="mimaText") { + Register.mimaokText.requestFocus(); + } + if(alluse.getName()=="mimaokText") { + Register.zhuce.requestFocus(); + } + + } +void Jbtton() { + boolean nameT=Register.nameText.getText().equals(""); + boolean zhanghaoT=Register. zhanghaoText.getText().equals(""); + //获取密码 + char[] str=Register.mimaText.getPassword(); + String mimaText =new String(str); + boolean mimaT=mimaText.equals(""); + + + str=Register.mimaokText.getPassword(); + String mimaokText =new String(str); + boolean mimaokT=mimaokText.equals(""); + + + + if(nameT==true) { + JOptionPane.showMessageDialog(null, "姓名不能为空", "注册消息",JOptionPane.WARNING_MESSAGE); + }else if(zhanghaoT==true){ + JOptionPane.showMessageDialog(null, "账号不能为空", "注册消息",JOptionPane.WARNING_MESSAGE); + }else if(mimaT==true) { + JOptionPane.showMessageDialog(null, "密码不能为空", "注册消息",JOptionPane.WARNING_MESSAGE); + }else if(mimaokT==true) { + JOptionPane.showMessageDialog(null, "确认密码不能为空", "注册消息",JOptionPane.WARNING_MESSAGE); + }else if(mimaText.equals(mimaokText)==false){ + //如果确认密码和密码是不一样的 + JOptionPane.showMessageDialog(null, "密码输入不一致", "注册消息",JOptionPane.WARNING_MESSAGE); + }else { + //姓名文本 + String name=Register.nameText.getText(); + //账号文本 + String zhanghao=Register. zhanghaoText.getText(); + //密码文本 + String mima= mimaText; + java.sql.Connection con=mysql.con; + PreparedStatement preSql; + String Uri="insert into user values(?,?,?,?)"; + try { + preSql=con.prepareStatement(Uri); + preSql.setString(1, name); + preSql.setString(2, zhanghao); + preSql.setString(3, mima); + preSql.setString(4, "0"); + int ok=preSql.executeUpdate(); + JOptionPane.showMessageDialog(null, "注册成功(默认为学生账户)", "注册消息",JOptionPane.WARNING_MESSAGE); + + }catch(SQLException e) { + JOptionPane.showMessageDialog(null, "当前账号已经存在", "注册消息",JOptionPane.WARNING_MESSAGE); + + } + + } + + +} + +} diff --git a/src/STU3event/closeEvent.java b/src/STU3event/closeEvent.java new file mode 100644 index 0000000..f2b3826 --- /dev/null +++ b/src/STU3event/closeEvent.java @@ -0,0 +1,18 @@ +package STU3event; + +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +import stu1.*; + +public class closeEvent extends WindowAdapter { + + public void closeEvent (WindowEvent e){ + + System.out.println("11"); + dengluEvent.setStart(); + + } + + +} diff --git a/src/STU3event/dengluEvent.java b/src/STU3event/dengluEvent.java new file mode 100644 index 0000000..43d0eed --- /dev/null +++ b/src/STU3event/dengluEvent.java @@ -0,0 +1,311 @@ +package STU3event; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.ResultSet; +import java.sql.SQLException; + +import javax.swing.JButton; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; + + + +import sql.*; +import stu1.*; + + + + +import sql.mysql; +import stu1.STU2; + +import stu1.manage; + +public class dengluEvent implements ActionListener { + + JButton button;//定义一个按钮 + + public static String accountA;//记录登录的账户 + + JMenuItem item;//菜单 + + static changemima aa; + public static manage manage1; + static String start; + public static Thread cheack; + + public void actionPerformed(ActionEvent e) { + + try { //获取登录界面的账号密码信息 + button= (JButton) e.getSource(); + if(button.getName()=="ok") { + String zhanghao =STU2.zhanghaotext.getText(); + String mima=new String (STU2.mimatext.getPassword()); + if(mysql.dengluAccount(zhanghao, mima)) { + this.accountA=zhanghao; + STU1.stu2a.close(); + manage1=new manage(); + + + + } + else { + JOptionPane.showMessageDialog(null, "账号或密码错误","登录信息",JOptionPane.WARNING_MESSAGE); + } + } + if(button.getName()=="change") { + mysql.changeotheraccount(); + + } + + + + if(button.getName()=="changeown") { + //修改密码 + String password=new String (changemima.passwordtext.getPassword()); + mysql. changePassword(accountA,password); + JOptionPane.showMessageDialog(null, "修改密码成功", "修改消息",JOptionPane.WARNING_MESSAGE); + manage1.dispose(); + mysql.setStart(accountA,"0"); + aa.dispose(); + STU1.show(); + + } + //操作界面 + if(button.getName()=="add") { + if(accountA.equals("manager")||accountA.equals("teacher")) { + //向数据库写入数据 + manage.model.setNumRows(0); + String name=manage.nametext.getText(); + boolean man=manage.Men.isSelected(); + boolean woman=manage.Women.isSelected(); + String sex; + String age=manage.agetext.getText(); + String grade=manage.gradetext.getText(); + String number=manage.numbertext.getText(); + if(name.equals("")) { + JOptionPane.showMessageDialog(null, "姓名不能为空", "编辑消息",JOptionPane.WARNING_MESSAGE); + }else if((man==false&&woman==false)) { + manage.Men.setSelected(true); + JOptionPane.showMessageDialog(null, "请选择性别", "编辑消息",JOptionPane.WARNING_MESSAGE); + }else if(man==false&&woman==false) { + JOptionPane.showMessageDialog(null, "请选泽性别", "编辑消息",JOptionPane.WARNING_MESSAGE); + }else if( age.equals("")) { + JOptionPane.showMessageDialog(null, "年龄不能为空", "编辑消息",JOptionPane.WARNING_MESSAGE); + }else if ( grade.equals("")) { + JOptionPane.showMessageDialog(null, "班级不能为空", "编辑消息",JOptionPane.WARNING_MESSAGE); + }else if(number.equals("")) { + JOptionPane.showMessageDialog(null, "学号不能为空", "编辑消息",JOptionPane.WARNING_MESSAGE); + }else { + if(manage.Men.isSelected()==true) { + sex=manage.Men.getText(); + }else { + sex=manage.Women.getText(); + } + + mysql.addStudent(name, sex, grade,age, number); + String data[]=new String [5]; + data[0]=name; + data[1]=sex; + data[2]=age; + data[3]=grade; + data[4]=number; + manage.model.addRow(data); + } + } + + else { + JOptionPane.showMessageDialog(null, "学生没有这个权限", "编辑消息",JOptionPane.WARNING_MESSAGE); + } + } + if(button.getName()=="del") { + //删除数据 + + //管理员或老师可以 + if(accountA.equals("manager")||accountA.equals("teacher")) { + + String numberA=manage.numbeconditiontext.getText(); + if(numberA.equals("")) { + JOptionPane.showMessageDialog(null, "请通过学号条件框删除", "删除消息",JOptionPane.WARNING_MESSAGE); + }else { + mysql.delStudeng(numberA); + } + + + + + } + else { + JOptionPane.showMessageDialog(null, "学生没有这个权限", "删除消息",JOptionPane.WARNING_MESSAGE); + } + + } + + if(button.getName()=="chan") { + //只有管理员可以操作 + if(accountA.equals("manager")) { + String name=manage.nametext.getText(); + boolean man=manage.Men.isSelected(); + boolean woman=manage.Women.isSelected(); + String sex; + String age=manage.agetext.getText(); + String grade=manage.gradetext.getText(); + String number=manage.numbertext.getText(); + String numberA=manage.numbeconditiontext.getText(); + if(numberA.equals("")) { + JOptionPane.showMessageDialog(null, "请通过学号条件框修改", "消息",JOptionPane.WARNING_MESSAGE); + }else if(name.equals("")) { + JOptionPane.showMessageDialog(null, "姓名不能为空", "消息",JOptionPane.WARNING_MESSAGE); + + + }else if(man==false&&woman==false) { + JOptionPane.showMessageDialog(null, "请选则性别", "消息",JOptionPane.WARNING_MESSAGE); + }else if( age.equals("")) { + JOptionPane.showMessageDialog(null, "年龄不能为空", "消息",JOptionPane.WARNING_MESSAGE); + }else if ( grade.equals("")) { + JOptionPane.showMessageDialog(null, "班级不能为空", "消息",JOptionPane.WARNING_MESSAGE); + }else if(number.equals("")) { + JOptionPane.showMessageDialog(null, "学号不能为空", "消息",JOptionPane.WARNING_MESSAGE); + }else { + if(manage.Men.isSelected()==true) { + sex=manage.Men.getText(); + }else { + sex=manage.Women.getText(); + } + mysql.changeStudeng(name, sex, age , grade, number,numberA); + } + } + + else { + JOptionPane.showMessageDialog(null, "只有管理员有此权限", "消息",JOptionPane.WARNING_MESSAGE); + + } + } + + + + if(button.getName()=="show") { + //通过学号查询学生信息 + String numberA=manage.numbeconditiontext.getText(); + + + String sex = ""; + String name=manage.nametext.getText(); + boolean man=manage.Men.isSelected(); + boolean woman=manage.Women.isSelected(); + + String age=manage.agetext.getText(); + String grade=manage.gradetext.getText(); + String number=manage.numbertext.getText(); + if(manage.Men.isSelected()==true) { + sex=manage.Men.getText(); + }else if(manage.Women.isSelected()==true){ + sex=manage.Women.getText(); + + } + + + + if(numberA.equals("")) { + JOptionPane.showMessageDialog(null, "请通过学号条件查找", "消息",JOptionPane.WARNING_MESSAGE); + + } else if(!numberA.equals("")) { + mysql.findOneStudent(numberA); + } + + + + } + }catch (ClassCastException e1) { + + try { + item=(JMenuItem) e.getSource(); + if (item.getName()=="item2") { + + if(accountA. equals("manager")) { + + mysql.Allacount(); + } + else { + JOptionPane.showMessageDialog(null, "你不是管理员没有权限嗷", "消息通知",JOptionPane.WARNING_MESSAGE); + } + } + + if(item.getName()=="item3") { + if(accountA.equals("manager")) { + changeaccount changeaccount=new changeaccount(); + } + else { + JOptionPane.showMessageDialog(null, "你不是管理员没有权限嗷", "消息通知",JOptionPane.WARNING_MESSAGE); + } + + } + if(item.getName()=="item4") { + + aa=new changemima(); + } + if(item.getName()=="item1_1") { + mysql.setStart(accountA,"0"); + manage1.dispose(); + } + if(item.getName()=="item1_2") { + mysql.setStart(accountA,"0"); + manage1.dispose(); + STU1.show(); + } + + }catch (Exception e2) { + } + } + } + + public static void setStart() { + mysql.setStart(accountA,"0"); + } + +public static void addAble(ResultSet rs) { + String data[]=new String [5]; + try { + + while(rs.next()) { + data[0]=rs.getString(1) ; + data[1]=rs.getString(2) ; + data[2]=rs.getString(3) ; + data[3]=rs.getString(4) ; + data[4]=rs.getString(5) ; + manage.model.addRow(data); + } + + }catch(SQLException e) { + + } + +} + +public static void addOneAble(ResultSet rs) { + String data[]=new String [5]; + try { + rs.next(); + data[0]=rs.getString(1) ; + data[1]=rs.getString(2) ; + data[2]=rs.getString(3) ; + data[3]=rs.getString(4) ; + data[4]=rs.getString(5) ; + + manage.nametext.setText(data[0]); + if(data[1].equals("男")) { + manage.Men.setSelected(true); + }else if(data[1].equals("女")) { + manage.Women.setSelected(true); + } + manage.agetext.setText(data[2]); + manage.gradetext.setText(data[3]); + manage.numbertext.setText(data[4]); + manage.model.addRow(data); + + }catch(SQLException e) { + } +} +} + diff --git a/src/STU3event/zhuceEvent.java b/src/STU3event/zhuceEvent.java new file mode 100644 index 0000000..61c8c58 --- /dev/null +++ b/src/STU3event/zhuceEvent.java @@ -0,0 +1,40 @@ +package STU3event; + +import java.awt.event.MouseEvent; + +//import com.window.Register; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; + +import stu1.Register; + +public class zhuceEvent implements MouseListener { + + public void mouseClicked(MouseEvent e) { + // TODO Auto-generated method stub + //当鼠标左键按下的时候才会触发事件 + if(e.getButton()==MouseEvent.BUTTON1) { + Register zhuce =new Register(); + } + } + + public void mousePressed(MouseEvent e) { + // TODO Auto-generated method stub + + } + + public void mouseReleased(MouseEvent e) { + // TODO Auto-generated method stub + + } + + public void mouseEntered(MouseEvent e) { + // TODO Auto-generated method stub + + } + + public void mouseExited(MouseEvent e) { + // TODO Auto-generated method stub + + } +} diff --git a/src/sql/mysql.java b/src/sql/mysql.java new file mode 100644 index 0000000..e7e9efe --- /dev/null +++ b/src/sql/mysql.java @@ -0,0 +1,282 @@ +package sql; + +import java.sql.*; + +import javax.swing.JOptionPane; + + + +import STU3event.dengluEvent; +import stu1.*; + +import stu1.changeaccount; +import stu1.manage; + +import stu1.manage; + +public class mysql { + + public static Connection con=null; + + public mysql(String zhanghao,String mima) { + //定义数据库的账号和密码 + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + System.out.println("ok"); + } + catch (Exception e) { + System.out.println("GG"); + } + String uri="jdbc:mysql://localhost:3306/student?characterEncoding=utf-8&useSSL=false"; + + try { + con=DriverManager.getConnection(uri,zhanghao,mima); + System.out.println("连接成功"); + }catch (SQLException e) { + System.out.println("连接失败"); + + } + + } + public static boolean dengluAccount(String zhanghao, String mima) { + //登录账号 + //对数据库的数据进行读读取 + Statement sql; + ResultSet rs; + String uri="select account,password from user"; + try { + sql=con.createStatement(); + rs=sql.executeQuery(uri); + while(rs.next()) { + String acc=rs.getString(1);//返回的第一个值就是账号 + String pass=rs.getString(2);//返回的第2个值就是密码 + if(acc.equals(zhanghao)&&pass.equals(mima)){ + return true; + } + + } + + }catch(SQLException e) { + + return false; + } + return false; + + } + + public static void Allacount() { + //查看所有账号 + Statement sql; + ResultSet rs; + String uri="select * from user"; + try { + sql=con.createStatement(); + rs=sql.executeQuery(uri); + manage.resultText.setText(""); + manage.resultText.setText("姓名\t账号\t\n"); + while(rs.next()) { + String name=rs.getString(1); + String account=rs.getString(2); + String password=rs.getString(3); + String start=rs.getString(4); + + if(start.equals("1")) { + + String uri1=manage.resultText.getText()+name+"\t"+account+"\t"+"\n"; + manage.resultText.setText(uri1); + } + if(start.equals("0")) { + String uri1=manage.resultText.getText()+name+"\t"+account+"\t"+"\n"; + manage.resultText.setText(uri1); + } + } + }catch(SQLException e) { + + } + } + public static void changeotheraccount() { + //修改其他账号信息 + ResultSet rs; + PreparedStatement word; + String sqlStr="update user set name=?,password=? where account=?"; + try { + String account=changeaccount.accounttext.getText(); + String name=changeaccount.nametext.getText(); + String password=new String (changeaccount.passwordtext.getPassword()); + word=con.prepareStatement(sqlStr); + int ok = 100; + if(account.equals("")) { + JOptionPane.showMessageDialog(null, "账号不能为空", "更改消息",JOptionPane.WARNING_MESSAGE); + }else if (name.equals("")) { + JOptionPane.showMessageDialog(null, "姓名不能为空", "更改消息",JOptionPane.WARNING_MESSAGE); + }else if (password.equals("")) { + JOptionPane.showMessageDialog(null, "密码不能为空", "更改消息",JOptionPane.WARNING_MESSAGE); + }else { + word.setString(1, name); + word.setString(2,password); + word.setString(3, account); + ok=word.executeUpdate(); + if(ok==0) { + JOptionPane.showMessageDialog(null, "请输入正确账号", "更改消息",JOptionPane.WARNING_MESSAGE); + }else { + JOptionPane.showMessageDialog(null, "更改成功", "更改消息",JOptionPane.WARNING_MESSAGE); + } + } + + }catch(SQLException e) { + + } + } + + public static void setStart(String account,String start) { + PreparedStatement word ; + String sqlStr="update user set start=? where account=?"; + try { + word=con.prepareStatement(sqlStr); + word.setString(1, start); + word.setString(2, account); + word.executeLargeUpdate(); + }catch(SQLException e) { + + } + } + public static void changePassword(String account,String password) { + //密码修改 + PreparedStatement word; + String sqlStr="update user set password=? where account=?"; + try { + word=con.prepareStatement(sqlStr); + word.setString(1, password); + word.setString(2, account); + word.executeLargeUpdate(); + + }catch(SQLException e) { + + } + + } + public static void addStudent(String name,String sex,String age,String grade,String number) { + //增加学生信息 + PreparedStatement word; + + String sqlStr="insert into stu(name,sex,age,grade,number) values(?,?,?,?,?)"; + + + try { + + word=con.prepareStatement(sqlStr); + word.setString(1, name); + word.setString(2, sex); + word.setString(3, age); + word.setString(4, grade); + word.setString(5, number); + int ok = word.executeUpdate(); + JOptionPane.showMessageDialog(null, "添加成功", "添加数据",JOptionPane.WARNING_MESSAGE); + + }catch(SQLException e) { + JOptionPane.showMessageDialog(null, "当前学号已经存在", "添加数据",JOptionPane.WARNING_MESSAGE); + } + } + + public static void delStudeng(String number) { + //删除学生信息 + PreparedStatement preSql; + String sqlStr="delete from stu where number=?"; + + try { + preSql=con.prepareStatement(sqlStr); + preSql.setString(1, number); + int ok = preSql.executeUpdate(); + if(ok==0) { + JOptionPane.showMessageDialog(null, "未找到相关学号", "消息",JOptionPane.WARNING_MESSAGE); + }else { + JOptionPane.showMessageDialog(null, "删除成功", "消息",JOptionPane.WARNING_MESSAGE); + } + + }catch(SQLException e) { + JOptionPane.showMessageDialog(null, "当前学号已经存在", "添加数据",JOptionPane.WARNING_MESSAGE); + + } + } + + +public static void changeStudeng(String name,String sex,String age,String grade,String number,String numberT) { + //更改学生信息 + PreparedStatement preSql; + String sqlStr="update stu set name=?,sex=?,age=?,grade=?,number=? where number=?"; + try { + preSql=con.prepareStatement(sqlStr); + preSql.setString(1, name); + preSql.setString(2, sex); + preSql.setString(3, age); + preSql.setString(4, grade); + preSql.setString(5, number); + preSql.setString(6, numberT); + int ok = preSql.executeUpdate(); + + if(ok==0) { + JOptionPane.showMessageDialog(null, "学号重复或者输入学号不存在", "消息",JOptionPane.WARNING_MESSAGE); + }else { + JOptionPane.showMessageDialog(null, "更改成功", "消息",JOptionPane.WARNING_MESSAGE); + } + + }catch(SQLException e) { + + System.out.println(e); + } + } + +public static void findAllStudeng() { + PreparedStatement preSql; + manage.model.setNumRows(0);//将表格数据为0 + String sqlStr="select * from stu";//查找所有的 + try { + preSql=con.prepareStatement(sqlStr); + ResultSet rs = preSql.executeQuery(); + dengluEvent.addAble(rs); + + }catch(SQLException e) { + + System.out.println(e); + } +} + +public static ResultSet getRs() { + PreparedStatement preSql; + ResultSet rs = null ; + manage.model.setNumRows(0);//将表格数据为0 + String sqlStr="select * from stu";//查找所有的 + try { + preSql=con.prepareStatement(sqlStr); + rs = preSql.executeQuery(); + + + }catch(SQLException e) { + + System.out.println(e); + } + + return rs; + + +} + +public static void findOneStudent(String number) { + PreparedStatement preSql; + ResultSet rs = null ; + manage.model.setNumRows(0);//将表格数据为0 + String sqlStr="select * from stu where number=?"; + try { + preSql=con.prepareStatement(sqlStr); + preSql.setString(1, number); + rs= preSql.executeQuery(); + dengluEvent.addOneAble(rs); + + }catch(SQLException e) { + + System.out.println(e); + } + +} + +} \ No newline at end of file diff --git a/src/src/module-info.java b/src/src/module-info.java new file mode 100644 index 0000000..a109ef0 --- /dev/null +++ b/src/src/module-info.java @@ -0,0 +1,8 @@ +module stu { + requires java.desktop; + requires java.xml.crypto; + requires java.sql; + requires java.net.http; + requires mysql.connector.java; + requires jdk.jdeps; +} \ No newline at end of file diff --git a/src/stu1/Register.java b/src/stu1/Register.java new file mode 100644 index 0000000..2c1693c --- /dev/null +++ b/src/stu1/Register.java @@ -0,0 +1,148 @@ +package stu1; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; + +import STU3event.accountEvents; + + +public class Register extends JFrame { + + + + //定义窗口高宽 + final int WIDTH=200; + final int HEIGHT=300; + + FlowLayout flowlayout; + + //定义收纳箱子 + javax.swing.JPanel jpanel1; + javax.swing.JPanel jpanel2; + javax.swing.JPanel jpanel3; + + //设置监听 + ActionListener lintener_1; + + //定义按钮和标签 + JLabel title; + JLabel name;//姓名 + public static JTextField nameText;//姓名框 + JLabel zhanghao;//账号 + public static JTextField zhanghaoText;//账号框 + JLabel mima;//密码 + public static JPasswordField mimaText;//密码框 + JLabel mimaok;//密码确认 + public static JPasswordField mimaokText;//密码确认框 + public static JButton zhuce;//注册 + + + + + public Register() { + setVisible(true); + setResizable(true); + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + validate(); + init(); + } + void init() { + //定义布局 + flowlayout=new FlowLayout(FlowLayout.CENTER);//居中对齐 + //窗口 + this.setBounds(400,100,500,400); //窗口大小 + setTitle("注 册"); + setVisible(true); + + //底层布局 + this.setLayout(null); + + //jp1 + jpanel1=new javax.swing.JPanel(); + jpanel1.setBounds(0, 0,800, HEIGHT); + jpanel1.setLayout(null); + + //jp2 + jpanel2 =new javax.swing.JPanel(); + jpanel2.setBounds(160, 50, WIDTH, 100); + jpanel2.setLayout(flowlayout); + jpanel2.setOpaque(false); + + //jp3 + jpanel3=new javax.swing.JPanel(); + jpanel3.setBounds(140, 100, 225, 500); + jpanel3.setOpaque(false); + + //姓名框初始化 + name=new JLabel("姓 名"); + nameText=new JTextField(15); + //账号 + zhanghao=new JLabel("账 号"); + zhanghaoText=new JTextField(15); + //密码 + mima=new JLabel("密 码"); + mimaText =new JPasswordField(15); + //确认密码 + mimaok=new JLabel("确认密码"); + mimaokText =new JPasswordField(15); + + //注册按钮 + zhuce=new JButton( "立 即 注 册"); + zhuce.setPreferredSize(new Dimension(100,30)); + + + //定义标题 + title=new JLabel("用户注册"); + + + + + jpanel3.add(name); + jpanel3.add(nameText); + jpanel3.add(zhanghao); + jpanel3.add(zhanghaoText); + jpanel3.add(mima); + jpanel3.add(mimaText); + jpanel3.add(mimaok); + jpanel3.add(mimaokText); + jpanel3.add(zhuce); + jpanel2.add(title); + jpanel1.add(jpanel3); + jpanel1.add(jpanel2); + this.add(jpanel1);//jp1添加到最底层 + setVisible(true); + allEvent(); + setAllaTag(); + } + void allEvent() { + lintener_1=new accountEvents(); + nameText.addActionListener(lintener_1); + zhanghaoText.addActionListener(lintener_1); + mimaText.addActionListener(lintener_1); + mimaokText.addActionListener(lintener_1); + zhuce.addActionListener(lintener_1); + + } + + + + + void setAllaTag() { + nameText.setName("nameText");//姓名 + zhanghaoText.setName("zhanghaoText");//账号 + mimaText.setName("mimaText");//密码 + mimaokText.setName("mimaokText");//确认密码 + zhuce.setName("zhuce"); + + } + + +} diff --git a/src/stu1/STU1.java b/src/stu1/STU1.java new file mode 100644 index 0000000..34323ef --- /dev/null +++ b/src/stu1/STU1.java @@ -0,0 +1,30 @@ +package stu1; + +import stu1.*; + +import sql.mysql; + +public class STU1 { + + + public static STU2 stu2a; + + + + public static void main(String[] args) { + show(); + + } + static public void show() { + STU2 stu2=new STU2(); + //Register register=new Register(); + + //manage aa=new manage(); + mysql a =new mysql("root", "111"); + //changeaccount c =new changeaccount(); + + stu2a=stu2; + } + +} + diff --git a/src/stu1/STU2.java b/src/stu1/STU2.java new file mode 100644 index 0000000..c3bb645 --- /dev/null +++ b/src/stu1/STU2.java @@ -0,0 +1,137 @@ +package stu1; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; + +import STU3event.dengluEvent; +import STU3event.zhuceEvent; + + +public class STU2 extends JFrame { + + JLabel zhanghao;//账号 + JLabel mima;//密码 + JLabel title;//标题 + public static JTextField zhanghaotext;//账号文本 + public static JPasswordField mimatext;//密码文本 + JButton ok ;//登录按钮 + JButton zhuce; + + final int WIDTH=300; + final int HEIGHT=400; + javax.swing.JPanel jpanel1 ;//总 + javax.swing.JPanel jpanel2;//放标题 + javax.swing.JPanel jpanel3;//账号密码 + + + FlowLayout flowlayout; + //监听类定义 + zhuceEvent zhuce1 ;//注册鼠标监听 + + ActionListener lintener1;//登录监听 + + + public STU2() { + setVisible(true); + setResizable(true); + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + validate(); + init(); + } + + + + + + void init() { + + this.setBounds(410,250,500,280); //窗口大小 + setTitle("学生信息管理系统"); + setVisible(true); + + //jp1 + jpanel1=new javax.swing.JPanel(); + jpanel1.setBounds(0, 0, WIDTH, HEIGHT); + jpanel1.setLayout(null); + + //jp2 + jpanel2 =new javax.swing.JPanel(); + jpanel2.setBounds(200, 30, 100, 60); + flowlayout=new FlowLayout(FlowLayout.CENTER); + jpanel2.setLayout(flowlayout); + + //jp3 + jpanel3 =new javax.swing.JPanel(); + jpanel3.setBounds(145, 80, 200, HEIGHT); + flowlayout = new FlowLayout(FlowLayout.CENTER); + jpanel3.setLayout(flowlayout); + jpanel3.setOpaque(false); + + //账号密码 + zhanghao=new JLabel("账 号"); + + zhanghaotext=new JTextField(15); + + mima=new JLabel("密 码"); + + mimatext=new JPasswordField(15); + + + //标题 + + title=new JLabel("学生信息管理系统"); + jpanel2.add(title); + +//登录按钮 + + ok =new JButton("登录"); + ok.setPreferredSize(new Dimension(60,30)); + ok.setName("ok"); + + //注册标签 + + + zhuce=new JButton("注册"); + zhuce.setPreferredSize(new Dimension(60,30)); + + +//添加 + + + jpanel3.add(zhanghao); + jpanel3.add(zhanghaotext); + jpanel3.add(mima); + jpanel3.add(mimatext); + jpanel3.add(ok); + jpanel3.add(zhuce); + jpanel1.add(jpanel3); + jpanel1.add(jpanel2); + this.add(jpanel1); + setVisible(true); + ok.setName("ok"); + allevent(); + } + + + //事件处理 + void allevent(){ + zhuce1=new zhuceEvent(); + lintener1=new dengluEvent() ; + zhuce.addMouseListener(zhuce1); + ok.addActionListener(lintener1); + + + } + + //成功登录后退出 + public void close() { + this.dispose(); + } + +} diff --git a/src/stu1/changeaccount.java b/src/stu1/changeaccount.java new file mode 100644 index 0000000..7b8dbbf --- /dev/null +++ b/src/stu1/changeaccount.java @@ -0,0 +1,93 @@ +package stu1; + +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Toolkit; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; + +import stu1.*; +import STU3event.*; + +import STU3event.dengluEvent; + +public class changeaccount extends JFrame { + + FlowLayout flowlayout;//定义一个布局 + final int WIDTH=230;//设置顶层框架的宽度 + final int HEIGHT=160;//设置顶层框架的高度 + + + JLabel account; + public static JTextField accounttext; + JLabel name; + JLabel password; + public static JTextField nametext; + public static JPasswordField passwordtext; + JButton change; + + //创建一个监听 + ActionListener lintener_1; + + public changeaccount() { + init(); + setVisible(true); //设置当前窗口是否可显示 + setResizable(false);//窗口的大小不可边 + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置默认关闭方式 + validate();//让组件生效 + + } + void init() { + + // 设置当前窗口的大小 + Toolkit kit =Toolkit.getDefaultToolkit();//获取对象大小 //设置窗口位置 + Dimension screenSize=kit.getScreenSize(); + int width=screenSize.width; + int height=screenSize.height;//获取屏幕高度和宽度 + int x=(width-WIDTH)/2; + int y=(height-HEIGHT)/2; + this.setBounds(500, 300, 40, HEIGHT+20); + flowlayout=new FlowLayout(FlowLayout.CENTER); + this.setLayout(flowlayout);//设置布局 + name=new JLabel("姓名"); + password=new JLabel("密码"); + account=new JLabel("账户"); + nametext=new JTextField(20); + passwordtext=new JPasswordField(20); + accounttext=new JTextField(20); + change=new JButton("更改用户信息"); + + change.setName("change"); + + this.setTitle("更改信息"); + + this.add(account); + this.add(accounttext); + + this.add(name); + this.add(nametext); + this.add(password); + this.add(passwordtext); + this.add(change); + lintener_1=new dengluEvent(); + change.addActionListener(lintener_1); + + } + + +} + + + + + + + + + + diff --git a/src/stu1/changemima.java b/src/stu1/changemima.java new file mode 100644 index 0000000..caae5ee --- /dev/null +++ b/src/stu1/changemima.java @@ -0,0 +1,75 @@ +package stu1; + +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Toolkit; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPasswordField; + +import stu1.*; +import STU3event.dengluEvent; + +public class changemima extends JFrame { + FlowLayout flowlayout;//定义一个布局 + final int WIDTH=230;//设置顶层框架的宽度 + final int HEIGHT=160;//设置顶层框架的高度 + + //一个标签 一个密码框一个 和一个按钮 + JLabel password; + public static JPasswordField passwordtext; + JButton changeown; + + ActionListener lintener_1;//设置监听 + + public changemima() { + + init(); + setVisible(true); //设置当前窗口是否可显示 + setResizable(false);//窗口的大小不可边 + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置默认关闭方式 + validate(); + + } + + void init() { + + Toolkit kit =Toolkit.getDefaultToolkit(); + Dimension screenSize=kit.getScreenSize(); + int width=screenSize.width; + int height=screenSize.height;//获取屏幕高度和宽度 + int x=(width-WIDTH)/2; + int y=(height-HEIGHT)/2; + this.setBounds(x, 300, WIDTH, 100); + flowlayout=new FlowLayout(FlowLayout.CENTER); + this.setLayout(flowlayout);//设置布局 + + + password=new JLabel("更改后密码"); + passwordtext=new JPasswordField(15); + changeown=new JButton("修改密码"); + + lintener_1=new dengluEvent(); + changeown.addActionListener(lintener_1); + + changeown.setName("changeown"); + this.setTitle("更改密码"); + + this.add(password); + this.add(passwordtext); + this.add(changeown); + } + + + + + + } + + + + + diff --git a/src/stu1/manage.java b/src/stu1/manage.java new file mode 100644 index 0000000..5d1568f --- /dev/null +++ b/src/stu1/manage.java @@ -0,0 +1,309 @@ +package stu1; + +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionListener; +import java.util.Vector; + +import javax.swing.BorderFactory; +import javax.swing.ButtonGroup; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableColumnModel; + +import STU3event.closeEvent; +import STU3event.dengluEvent; +public class manage extends JFrame { + + FlowLayout flowlayout;//定义一个布局 + + final int WIDTH=800;//设置顶层框架的宽度 + final int HEIGHT=725;//设置顶层框架的高度 + + + //定义菜单栏 + JMenuBar menubar; + JMenu menu,menu1; + JMenuItem item1,item2,item3,item4; + JMenuItem item1_1,item1_2; + + //定义2个盘子 + + javax.swing.JPanel jpanel_1; + + javax.swing.JPanel jpanel_2; + + + + + //定义标签 + JLabel name; + public static JTextField nametext; + ButtonGroup group=null; + public static JRadioButton Men,Women; + JLabel age; + public static JTextField agetext; + + JLabel grade; + public static JTextField gradetext; + + JLabel number; + public static JTextField numbertext; + + JButton add,del,change,show; + + JLabel numbecondition;//学号条件 + public static JTextField numbeconditiontext;//学号条件文本 + + public static JTextArea resultText;//显示结果 + + + //表格数据 + + Object columns[] ={"姓名","性别","年龄","班级","学号"};//标题信息 + JTable table1=null; + JScrollPane jscrollpane; + static Vector rwo; + static Object a[][]; + static int row ; + public static DefaultTableModel model; + static TableColumnModel columnModel; + + //定义一个监听 + ActionListener lintener_1; + //定义一个窗口监听 + closeEvent lintener_2; + + + public manage() { + init(); + setVisible(true); //设置当前窗口是否可显示 + setResizable(false);//窗口的大小不可边 + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置默认关闭方式 + validate();//让组件生效 + + } + + void init() { + //定义布局 + flowlayout=new FlowLayout(FlowLayout.CENTER);//居中对齐 + //第一步设置最底层的布局 + this.setLayout(null); + this.setTitle("学生信息管理系统"); + // 设置当前窗口的大小 + this.setBounds(340,100,700,600); + setVisible(true); + + + //添加菜单栏 + menubar=new JMenuBar(); + menu=new JMenu("数据管理"); + menu1=new JMenu("账号管理"); + + item2=new JMenuItem("查看所有账号"); + item3=new JMenuItem("更改用户账号信息"); + item4=new JMenuItem("更改当前账户密码"); + item1_1=new JMenuItem("退出"); + item1_2=new JMenuItem("注销"); + + + + menu.add(item2); + menu.add(item3); + menu.add(item4); + + menu1.add(item1_1); + menu1.add(item1_2); + + + menubar.add(menu); + menubar.add(menu1); + + + //初始化第一个盘子 + jpanel_1 =new javax.swing.JPanel(); + jpanel_1.setLayout(flowlayout); + jpanel_1.setBorder(BorderFactory.createTitledBorder("信息处理")); + jpanel_1.setBounds(0, 0, 688, 350); + + + //按钮 + name=new JLabel("姓名"); + + + //添加文本 + + nametext=new JTextField(8); + //添加性别 + + group=new ButtonGroup(); + Men=new JRadioButton("男"); + Women=new JRadioButton("女"); + + group.add(Men); + group.add(Women); + + //添加年龄 + age=new JLabel("年龄"); + + //添加年龄文本 + agetext=new JTextField(8); + + //添加班级 + grade=new JLabel("班级"); + + //添加班级文本 + gradetext=new JTextField(10); + + //添加学号 + number=new JLabel("学号"); + + //添加学号文本 + + numbertext=new JTextField(10); + + //设置功能按钮 + + add=new JButton("增加数据"); + del=new JButton("删除数据"); + change=new JButton("修改数据"); + show=new JButton("查找数据"); + + numbecondition=new JLabel("输入学号条件:");//学号条件 + numbeconditiontext=new JTextField(10);//学号条件文本 + + + //第二个盘子:表格内部布局 + jpanel_2 =new javax.swing.JPanel(); + jpanel_2.setLayout(flowlayout); + jpanel_2.setBounds(0, 100, 688, 190); + jpanel_2.setBorder(BorderFactory.createTitledBorder("数据信息显示")); + + table(); + //添加显示结果信息文本框 + resultText=new JTextArea(); + resultText.setBounds(0,350 , 688, 400); + resultText.setBorder(BorderFactory.createTitledBorder("账号信息显示")); + resultText.setEditable(false); + + + + //基本信息 + jpanel_1.add(name); + jpanel_1.add(nametext); + jpanel_1.add(Men); + jpanel_1.add(Women); + + jpanel_1.add(age); + jpanel_1.add(agetext); + + jpanel_1.add(grade); + jpanel_1.add(gradetext); + + jpanel_1.add(number); + jpanel_1.add(numbertext); + + jpanel_1.add(numbecondition); + jpanel_1.add(numbeconditiontext); + + //数据处理界面的按钮 + jpanel_1.add(show);//查找 + jpanel_1.add(add);//增加 + jpanel_1.add(del);//删除 + jpanel_1.add(change);//修改 + + + + + jpanel_2.add(jscrollpane); + + this.add(jpanel_2); + this.add(jpanel_1); + this.add(menubar); + this.setJMenuBar(menubar); + this.add(resultText); + setAllName(); + allEvent(); + + } + void table() { + table1=getTable(); + jscrollpane=new JScrollPane(table1);//添加一个浏览窗格 + jscrollpane.setPreferredSize(new Dimension(500,250));//给窗格设置大小 + table1.setPreferredSize(new Dimension(WIDTH,1000));//给表格设置大小 + jscrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);//将滑动组件显示在窗口中 + } + + JTable getTable() { + if(table1==null) { + table1=new JTable(); + int[] columnWidth={100,100,100,100,100}; + model=new DefaultTableModel(){ + public boolean isCellEditable(int row, int column) + { + return false; + } + }; + model.setColumnIdentifiers(columns); + table1.setModel(model);//设置为表格的模式 + columnModel=table1.getColumnModel();//获取到表格的控制 + table1.getTableHeader().setReorderingAllowed(false);//让表格不可拖动 + table1.getTableHeader().setResizingAllowed(false); + int count=columnModel.getColumnCount();//返回列数和行数 + for(int i=0;i