Compare commits

...

7 Commits

@ -0,0 +1,130 @@
package view;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import database.ConnectDatabasemxq;
/**
*
*
* @author K.X
*
*/
public class BorrowRecordsmxq extends JFrame {
/*
*
*/
// 面板
private JPanel jPanel = new JPanel();
// 分层窗格
private JLayeredPane jLayeredPane = new JLayeredPane();
// 标签
private JLabel jLabel = new JLabel("借书记录");
// 字体
private Font font = new Font("宋体", Font.BOLD, 40);
// 表格
public DefaultTableModel model = new DefaultTableModel();
public BorrowRecordsmxq(String user) {
// 改变背景图片
Icon i = new ImageIcon("img\\tabletop.jpg");
JLabel Label = new JLabel(i);
Label.setBounds(0, 0, 800, 100);
setLayout(null);
setSize(800, 600);
setLocationRelativeTo(null);
jLabel.setFont(font);
jLabel.setBounds(315, 80, 400, 100);
jPanel.add(jLabel);
// 表格
model.addColumn("书号", new Vector<Integer>());
model.addColumn("书名", new Vector<Integer>());
model.addColumn("借书日期", new Vector<Integer>());
model.addColumn("还书日期", new Vector<Integer>());
model.addColumn("状态", new Vector<Integer>());
JTable jTable = new JTable(model);
JScrollPane pane = new JScrollPane(jTable);
pane.setBounds(80, 160, 640, 350);
jLayeredPane.add(pane);
JTableHeader head = jTable.getTableHeader();
// 设置表头的大小
head.setPreferredSize(new Dimension(head.getWidth(), 30));
// 设置表头字体大小
head.setFont(new Font("宋体", Font.BOLD, 20));
// head.setForeground(Color.cyan);
head.setBackground(Color.cyan);
// 设置表格的行宽
jTable.setRowHeight(30);
// 设置表格行中字体大小
jTable.setFont(new Font("宋体", Font.ROMAN_BASELINE, 17));
/* 设置表格中的内容居中 */
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
jTable.setDefaultRenderer(Object.class, renderer);
borrow(model, user);
jPanel.setBounds(0, 0, 800, 200);
jPanel.setOpaque(false);
jPanel.setLayout(null);
setTitle("借书记录");
// 不可以改变窗体的大小
setResizable(false);
setContentPane(jLayeredPane);
add(jPanel);
add(Label);
setVisible(true);
}
private void borrow(DefaultTableModel model, String user) {
Connection con = ConnectDatabasemxq.connectDB();
PreparedStatement preSql;
ResultSet rs;
String sqlStr = "select * from borrowrecords where user = ?";
try {
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, user);
rs = preSql.executeQuery();
boolean flag = false;
while (rs.next()) {
flag = true;
int bookid = rs.getInt(3);
String bookname = rs.getString(4);
Date date = rs.getDate(5);
Date date2 = rs.getDate(6);
String state = rs.getString(7);
model.addRow(new Vector<>(Arrays.asList(bookid, bookname, date, date2, state)));
}
if (!flag) {
JOptionPane.showMessageDialog(null, "您还没有借书哦!");
}
con.close();
} catch (SQLException e) {
}
}
}

@ -0,0 +1,103 @@
package view;
import java.awt.Color; // 导入AWT库中的颜色类
import java.awt.Container; // 导入AWT库中的容器类
import java.awt.Font; // 导入AWT库中的字体类
import java.awt.Image; // 导入AWT库中的图像类
import java.awt.Toolkit; // 导入AWT库中的工具包类用于获取屏幕尺寸等
import javax.swing.Icon; // 导入Swing库中的图标接口
import javax.swing.ImageIcon; // 导入Swing库中的图像图标类
/**
*
* @author K.X
*
* */
import javax.swing.JFrame; // 导入Swing库中的窗口类
import javax.swing.JLabel; // 导入Swing库中的标签类
import javax.swing.JPanel; // 导入Swing库中的面板类
import javax.swing.JTabbedPane; // 导入Swing库中的选项卡面板类
//假设这是数据库相关的类,用于操作数据库
import database.Landing;
public class MainInterfacemxq extends JFrame{
/*
*
*
* */
// 定义一个名为 jTabbedPane 的 JTabbedPane 对象,用于展示选项卡面板
//选项卡
public JTabbedPane jTabbedPane = new JTabbedPane();
// 定义一个名为 jPanel 的 JPanel 对象,用于作为主界面面板
//主界面面板
private JPanel jPanel = new JPanel();
// 定义一个名为 jLabel 的 JLabel 对象,用于展示文本“欢迎登陆图书管理系统”
//标签
private JLabel jLabel = new JLabel("欢迎登陆图书管理系统");
// 定义一个名为 font 的 Font 对象,字体为“宋体”,加粗,字号为 70
// 字体
private Font font = new Font("宋体", Font.BOLD, 70);
private Font font2 = new Font("宋体", Font.BOLD, 20); // 定义一个名为 font2 的 Font 对象,字体为“宋体”,加粗,字号为 20
// 获取当前 JFrame 的内容面板,并赋值给 con 变量
private Container con = getContentPane();
public MainInterfacemxq(String user) { // 构造函数,接收一个用户名参数
// 改变窗口图标 // 获取默认的工具箱,通常用于获取屏幕尺寸和加载系统级图像
Toolkit t = Toolkit.getDefaultToolkit();
Image image = t.getImage("img\\top.jpg"); // 加载位于 "img\\top.jpg" 的图片,设置为窗口的图标
setIconImage(image);
// 改变背景图片 // 创建一个 ImageIcon 对象,用于加载并显示图片
Icon i = new ImageIcon("img\\Main.jpg"); // 创建一个 JLabel并将 ImageIcon 设置为标签的图标
JLabel Label = new JLabel(i);
Label.setBounds(0, 0, 1200, 800); // 设置 JLabel 的大小和位置(这里使用了绝对布局)
jPanel.setLayout(null); // 设置内容面板的布局管理器为 null表示使用绝对布局
jLabel.setFont(font); // 设置标签的字体和大小
jLabel.setBounds(230, 50, 1000,200); // 设置标签的文本位置和大小
jLabel.setForeground(Color.yellow); // 设置标签文本的前景色(字体颜色)为黄色
jPanel.add(jLabel); // 将标签添加到 jPanel 中
jPanel.add(Label); // 将背景图片的 JLabel 也添加到 jPanel 中
jTabbedPane.setFont(font2); // 设置 JTabbedPane 的默认字体(选项卡标签的字体)
jTabbedPane.add("主 界 面", jPanel); // 添加一个名为 "主 界 面" 的选项卡,并将 jPanel 作为其内容
BookSearch search = new BookSearch(); // 创建一个 BookSearch 对象
jTabbedPane.add("图书查询",search.jLayeredPane); // 将 BookSearch 对象的某个组件(假设是 jLayeredPane添加到 "图书查询" 选项卡中
BorrowingReturning returning = new BorrowingReturning(); // 创建一个 BorrowingReturning 对象
returning.setUser(user); // 设置 BorrowingReturning 对象的用户名和 BookSearch 对象的模型
returning.setModel(search.model);
jTabbedPane.add("图书借还", returning.jLayeredPane); // 将 BorrowingReturning 对象的某个组件(假设是 jLayeredPane添加到 "图书借还" 选项卡中
if(Landing.sureadmin(user)) { // 检查用户是否为管理员
Admin admin = new Admin(); // 如果是管理员则创建一个Admin对象
admin.setUser(user); // 设置Admin对象的用户信息
admin.setFrame(this); // 设置Admin对象的窗体为当前窗体
jTabbedPane.add("账户管理", admin.jPanel2); // 将Admin的面板jPanel2添加到jTabbedPane的“账户管理”选项卡
BookAdmin bookAdmin = new BookAdmin(); // 创建一个BookAdmin对象用于管理图书
bookAdmin.setModel(search.model); // 设置BookAdmin对象的模型为search的model假设search是一个外部定义的变量具有model属性
jTabbedPane.add("图书管理",bookAdmin.jPanel2); // 将BookAdmin的面板jPanel2添加到jTabbedPane的“图书管理”选项卡
}else {
AccountManagement management = new AccountManagement(); // 如果不是管理员则创建一个AccountManagement对象
management.setUser(user); // 设置AccountManagement对象的用户信息
management.setFrame(this); // 设置AccountManagement对象的窗体为当前窗体
jTabbedPane.add("账户管理", management.jPanel2); // 将AccountManagement的面板jPanel2添加到jTabbedPane的“账户管理”选项卡
}
// 将jTabbedPane添加到当前窗体的内容面板con中
con.add(jTabbedPane);
// 不可以改变窗体的大小
setResizable(false); // 设置窗体不可改变大小
setTitle("图书管理系统"); // 设置窗体的标题为“图书管理系统”
setSize(1200, 800); // 设置窗体的大小为1200像素宽和800像素高
setLocationRelativeTo(null); // 将窗体放置在屏幕中央
setVisible(true); // 设置窗体为可见
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体的默认关闭操作为退出程序
}
}

@ -0,0 +1,182 @@
//提供界面让用户修改数据库中用户的信息
package view;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
//导入自定义数据库连接类
import database.ConnectDatabasemxq;
/**
*
* @author K.X
*
* */
//定义一个名为ModifyInformationmxq的类该类继承自JFrame表示这是一个图形用户界面窗口
public class ModifyInformationmxq extends JFrame{ //创建类,提供了一个界面让用户修改数据库中用户的信息
/*
*
*
*
* */
// 创建一个JPanel实例用于容纳其他组件
//面板
private JPanel jPanel = new JPanel();
// 创建JLabel实例用于显示文本
//标签
private JLabel jLabel = new JLabel("用户名:");
private JLabel jLabel2 = new JLabel();// 假设用于显示当前用户名,但初始化为空
private JLabel jLabel3 = new JLabel("学 号:"); // 显示“学号:”的标签
private JLabel jLabel4 = new JLabel("姓 名:"); // 显示“姓名:”的标签
// 创建JTextField实例用于用户输入
//文本框
private JTextField field = new JTextField(22); // 假设用于输入用户名,但注释未明确
private JTextField field2 = new JTextField(22); // 假设用于输入学号
// 创建Font实例用于设置组件的字体样式
//字体
private Font font = new Font("宋体", Font.BOLD, 24); ; // 24号粗体宋体字体
private Font font1 = new Font("宋体", Font.BOLD, 22); // 22号粗体宋体字体
// 创建一个JButton实例用于触发修改操作
//按钮 修改
private JButton button = new JButton("修改");
// 构造函数,接收一个用户名字符串作为参数
public ModifyInformationmxq(String user) {
// 设置窗口的大小
setSize(600, 450);
// 加载背景图片并设置为JLabel的背景
// 改变背景图片
Icon i = new ImageIcon("img\\ah.jpg"); // 加载图片资源
JLabel Label = new JLabel(i); // 创建一个新的JLabel实例来显示图片
Label.setBounds(0, 0, 600, 150); // 设置JLabel的位置和大小
jLabel2.setText(user); // 设置jLabel2的文本为用户名user
show(user); // 假设show(user)是一个方法可能是用于显示或更新与用户名相关的其他UI元素
jLabel.setFont(font); // 设置jLabel、jLabel2、jLabel3和jLabel4的字体为之前定义的font
jLabel2.setFont(font);
jLabel3.setFont(font);
jLabel4.setFont(font);
// 设置文本框field和field2以及按钮button的字体为之前定义的font1
field.setFont(font1);
field2.setFont(font1);
button.setFont(font1);
// 如果这是自定义的add方法请确保它按预期工作
add();
// 设置各组件的边界位置x, y, width, height
// 这里使用了setBounds方法来直接设置组件的位置和大小通常不推荐这样做因为它不支持跨平台的布局管理
jLabel.setBounds(150, 180, 100, 30);
jLabel2.setBounds(260, 180, 300, 30);
jLabel3.setBounds(150, 230, 100, 30);
field.setBounds(260, 230, 150, 30);
jLabel4.setBounds(150, 280, 100, 30);
field2.setBounds(260, 280, 150, 30);
button.setBounds(145, 340, 268, 30);
//将标签和文本框等组件添加到jPanel面板中
jPanel.add(jLabel);
jPanel.add(jLabel2);
jPanel.add(jLabel3);
jPanel.add(field);
jPanel.add(jLabel4);
jPanel.add(field2);
jPanel.add(button);
// 禁用jPanel的默认布局管理器允许使用setBounds方法来直接设置组件位置和大小
jPanel.setLayout(null);
// 设置jPanel的边界位置和大小
jPanel.setBounds(0, 0, 600, 400);
// 设置jPanel的背景为透明即不绘制背景
jPanel.setOpaque(false);
// 设置窗口的标题为“修改信息”
setTitle("修改信息");
// 将jPanel添加到当前窗口假设当前类是JFrame的子类
add(jPanel);
// 添加之前创建的用于背景图片显示的Label到窗口中
add(Label);
// 禁止用户改变窗体的大小
// 不可以改变窗体的大小
setResizable(false);
// 将窗口放在屏幕中央
setLocationRelativeTo(null);
// 禁用当前窗口的默认布局管理器允许使用setBounds方法来直接设置组件位置和大小
setLayout(null);
// 设置窗口为可见
setVisible(true);
}
//获取信息显示
private void show(String user) {
Connection con = ConnectDatabasemxq.connectDB();
PreparedStatement preSql;
ResultSet rs;
String sqlStr = "select * from usertable where user = ?";
try {
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, user);
rs = preSql.executeQuery();
while (rs.next()) {
field.setText(rs.getString(2));
field2.setText(rs.getString(3));
}
con.close();
} catch (SQLException e) {
}
}
//5修改信息
private void modify(String user,String studentid,String name) {
Connection con = ConnectDatabasemxq.connectDB();
PreparedStatement preSql;
String sqlStr = "update usertable set studentid=? where user = ?";
try {
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, studentid);
preSql.setString(2, user);
int ok = preSql.executeUpdate();
sqlStr = "update usertable set name=? where user = ?"; //使用两个预编译的sql语句来修改用户的学号和姓名
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, name);
preSql.setString(2, user);
ok = preSql.executeUpdate();
con.close();
} catch (SQLException e) {
}
}
//添加事件
private void add() {
button.addActionListener(new ActionListener() { // 给按钮`button`添加了一个`ActionListener`,用于在用户点击按钮时触发事件。在`actionPerformed`方法中从GUI组件中获取用户输入的信息学号和姓名并调用`modify`方法来更新数据库中的信息。
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String user = jLabel2.getText().trim();
String studentid = field.getText().trim();
String name = field2.getText().trim();
modify(user,studentid,name);
JOptionPane.showMessageDialog(null, "修改成功");
dispose();
}
});
}
}

@ -0,0 +1,27 @@
package database;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ModifyPassword {
public ModifyPassword() {
}
public static void modifypass(String user,String password) {
Connection con = ConnectDatabasemxq.connectDB();
PreparedStatement preSql;
String sqlStr = "update usertable set password=? where user = ?";
try {
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, password);
preSql.setString(2, user);
int ok = preSql.executeUpdate();
con.close();
} catch (SQLException e) {
}
}
}

@ -0,0 +1,181 @@
//实现一个用于修改密码的图形用户界面
package view;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
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 database.ConnectDatabasemxq;
/**
*
*
* @author K.X
*
*/
public class ModifyPasswordmxq extends JFrame { //创建类,用于显示修改密码的窗口
/*
*
*/
// 面板
private JPanel jPanel = new JPanel();
// 标签
private JLabel jLabel = new JLabel("用 户 名:");
private JLabel jLabel2 = new JLabel();
private JLabel jLabel3 = new JLabel("原始密码:");
private JLabel jLabel4 = new JLabel("新 密 码:");
private JLabel jLabel5 = new JLabel("确认密码:");
// 文本框
private JPasswordField field = new JPasswordField(22);
private JPasswordField field2 = new JPasswordField(22);
private JPasswordField field3 = new JPasswordField(22);
// 字体
private Font font = new Font("宋体", Font.BOLD, 24);
private Font font1 = new Font("宋体", Font.BOLD, 22);
// 按钮 修改
private JButton button = new JButton("修 改");
private JFrame frame = new JFrame();
public ModifyPasswordmxq(String user) { //构造函数,设置窗体大小,标题
setSize(600, 450);
// 改变背景图片
Icon i = new ImageIcon("img\\ah.jpg");
JLabel Label = new JLabel(i);
Label.setBounds(0, 0, 600, 150);
setTitle("修改密码");
jLabel2.setText(user);
jLabel.setFont(font);
jLabel2.setFont(font);
jLabel3.setFont(font);
jLabel4.setFont(font);
jLabel5.setFont(font);
field.setFont(font1);
field2.setFont(font1);
field3.setFont(font1);
button.setFont(font1);
add();
jLabel.setBounds(120, 170, 150, 30);
jLabel2.setBounds(260, 170, 300, 30);
jLabel3.setBounds(120, 210, 150, 30);
field.setBounds(260, 215, 140, 25);
jLabel4.setBounds(120, 250, 150, 30);
field2.setBounds(260, 255, 140, 25);
jLabel5.setBounds(120, 290, 150, 30);
field3.setBounds(260, 295, 140, 25);
button.setBounds(115, 340, 285, 30);
jPanel.add(jLabel);
jPanel.add(jLabel2);
jPanel.add(jLabel3);
jPanel.add(field);
jPanel.add(jLabel4);
jPanel.add(field2);
jPanel.add(jLabel5);
jPanel.add(field3);
jPanel.add(button);
jPanel.setLayout(null);
jPanel.setBounds(0, 0, 600, 400);
jPanel.setOpaque(false);
add(jPanel);
add(Label);
// 不可以改变窗体的大小
setResizable(false);
setLocationRelativeTo(null);
setLayout(null);
setVisible(true);
}
public void setFrame(JFrame frame) {
this.frame = frame;
}
// 比对旧密码
private boolean comparison(String user, String password) {
Connection con = ConnectDatabasemxq.connectDB();
PreparedStatement preSql;
ResultSet rs;
String sqlStr = "select * from usertable where user = ?";
try {
preSql = con.prepareStatement(sqlStr);
preSql.setString(1, user);
rs = preSql.executeQuery();
while (rs.next()) {
String s = rs.getString(4);
if (s.equals(password)) {
return true;
} else {
return false;
}
}
con.close();
return false;
} catch (SQLException e) {
return false;
}
}
// 添加事件
private void add() {
button.addActionListener(new ActionListener() { //事件监听器,当修改按钮被点击时,触发事件监听器
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String user = jLabel2.getText().trim();
String oldpass = field.getText().trim();
String newpass = field2.getText().trim();
String surepass = field3.getText().trim();
if (comparison(user, oldpass)) {
if(newpass.length()<6||newpass.length()>16) {
JOptionPane.showMessageDialog(null, "密码规定6-16位不能含有空格", "警告", JOptionPane.WARNING_MESSAGE);
empty();
}else {
if (newpass.equals(surepass)) {
database.ModifyPassword.modifypass(user, newpass);
JOptionPane.showMessageDialog(null, "修改成功");
JOptionPane.showMessageDialog(null, "请重新登陆");
dispose();
frame.dispose();
new Land();
}else {
JOptionPane.showMessageDialog(null, "确认密码不相同", "警告", JOptionPane.WARNING_MESSAGE);
empty();
}
}
} else {
JOptionPane.showMessageDialog(null, "原始密码不正确", "警告", JOptionPane.WARNING_MESSAGE);
empty();
}
}
});
}
private void empty() {
field.setText("");
field2.setText("");
field3.setText("");
}
}

@ -0,0 +1,134 @@
package view;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import database.FindBorrow;
import database.UpdateAdmin;
/**
*
*
* @author K.X
*/
public class Permissionsmxq extends JFrame {
// 面板
private JPanel jPanel = new JPanel();
// 标签
private JLabel jLabel = new JLabel("用户名:");
private JLabel jLabel2 = new JLabel("选 项:");
// 文本框
private JTextField field = new JTextField(22);
// 下拉框
private JComboBox<String> box = new JComboBox<String>();
// 字体
private Font font2 = new Font("宋体", Font.BOLD, 22);
private Font font3 = new Font("宋体", Font.BOLD, 18);
// 按钮 修改
private JButton button = new JButton("确 定");
private String s;
public Permissionsmxq() {
setSize(400, 450);
setTitle("修改权限");
// 改变背景图片
Icon i = new ImageIcon("img\\ah.jpg");
JLabel Label = new JLabel(i);
Label.setBounds(0, 0, 400, 100);
jLabel.setFont(font2);
jLabel2.setFont(font2);
field.setFont(font2);
button.setFont(font3);
jLabel.setBounds(50, 150, 100, 30);
field.setBounds(150, 150, 185, 28);
jLabel2.setBounds(50, 225, 100, 30);
button.setBounds(47, 300, 288, 35);
// 下拉框
box.addItem("删除用户");
box.addItem("更改为用户");
box.addItem("添加为管理员");
box.setFont(font3);
box.setBounds(150, 225, 185, 28);
// box.setBackground(Color.cyan);
box.setOpaque(false);
//添加事件
addEvent();
jPanel.add(jLabel);
jPanel.add(field);
jPanel.add(jLabel2);
jPanel.add(box);
jPanel.add(button);
jPanel.setLayout(null);
jPanel.setBounds(0, 0, 600, 400);
jPanel.setOpaque(false);
add(jPanel);
add(Label);
// 不可以改变窗体的大小
setResizable(false);
setLocationRelativeTo(null);
setLayout(null);
setVisible(true);
}
private void addEvent() {
// 获取下拉列表值
s = "删除用户";
box.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if (e.getStateChange() == ItemEvent.SELECTED) {
s = (String) e.getItem();
}
}
});
// 添加确定按钮事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String user = field.getText().trim();
if(UpdateAdmin.sureuser(user)) {
if (s.equals("删除用户")) {
UpdateAdmin.deleteuser(user);
JOptionPane.showMessageDialog(null, "操作完成");
} else if (s.equals("更改为用户")) {
UpdateAdmin.updateuser(user);
JOptionPane.showMessageDialog(null, "操作完成");
}else if(s.equals("添加为管理员")) {
UpdateAdmin.updateadmin(user);
JOptionPane.showMessageDialog(null, "操作完成");
}
}else {
JOptionPane.showMessageDialog(null, "用户名不存在", "警告", JOptionPane.WARNING_MESSAGE);
}
}
});
}
}

@ -0,0 +1,256 @@
//主要用于构建一个注册界面的图形用户界面GUI
package view;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
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;
//导入与数据库交互的类
import database.Adduser;
/**
*
*
* @author K.X
*
*/
public class Registermxq {
/*
*
*/
// 标签 定义了七个JLabel对象用于显示不同的文本信息如注册、用户名等。
private JLabel jLabel = new JLabel("注 册");
private JLabel jLabel2 = new JLabel("用 户 名:");
private JLabel jLabel3 = new JLabel(" 学 号:");
private JLabel jLabel4 = new JLabel(" 姓 名:");
private JLabel jLabel5 = new JLabel(" 密 码:");
private JLabel jLabel6 = new JLabel("确认密码:");
private JLabel jLabel7 = new JLabel(" 密码长度6~16位不能含有空格 ");
//成员变量 定义了五个字符串类型的成员变量,用于存储用户名、学号、姓名、密码和确认密码。
private String user;
private String studentid;
private String name;
private String password;
private String password2;
// 字体 定义了五个Font对象设置了不同的字体、样式和大小。其中包含了中文“宋体”和小篆等字体样式以及一些数字和字体大小的设置。
private Font font = new Font("宋体", Font.BOLD, 40);
private Font font2 = new Font("宋体", Font.BOLD, 25);
private Font font3 = new Font("宋体", Font.BOLD, 20);
private Font font4 = new Font("小篆", Font.ITALIC, 13);
private Font font5 = new Font("宋体", Font.BOLD, 17);
// 文本框 定义了三个JTextField对象field, field2, field3field4field5每个文本框都设置了默认宽度为18个字符的宽度。
private JTextField field = new JTextField(18);
private JTextField field2 = new JTextField(18);
private JTextField field3 = new JTextField(18);
private JPasswordField field4 = new JPasswordField(18);
private JPasswordField field5 = new JPasswordField(18);
// 按钮
private JButton button = new JButton("注 册"); //JButton: 定义了两个按钮一个名为button标签为“注 册”另一个名为button2标签为“返回”。
private JButton button2 = new JButton("返回");//Dimension: 定义了一个dimension对象设置了宽度为350高度为40的默认大小。
// 大小
private Dimension dimension = new Dimension(350, 40); //Dimension: 定义了一个dimension对象设置了宽度为350高度为40的默认大小。
// 面板 //JPanel: 定义了七个JPanel对象这些面板可能用于分组或组织界面上的其他组件。
private JPanel jPanel = new JPanel();
private JPanel jPanel2 = new JPanel();
private JPanel jPanel3 = new JPanel();
private JPanel jPanel4 = new JPanel();
private JPanel jPanel5 = new JPanel();
private JPanel jPanel6 = new JPanel();
private JPanel jPanel7 = new JPanel();
// 窗体 JFrame: 定义了一个名为frame的窗口并设置了标题为“注册”。
private JFrame frame = new JFrame("注册");
public Registermxq() {
// 窗体大小
frame.setSize(450, 600);
// 布局为空
frame.setLayout(null);
// 居中
frame.setLocationRelativeTo(null);
// 改变窗口图标
Toolkit t = Toolkit.getDefaultToolkit();
Image image = t.getImage("img\\top.jpg");
frame.setIconImage(image);
addassembly();
transparent();
addEvent();
// 改变背景图片
Icon i = new ImageIcon("img\\register.jpg");
JLabel Label = new JLabel(i);
Label.setBounds(0, 0, 450, 600);
frame.add(Label);
// 不可改变大小
frame.setResizable(false);
// 窗口关闭
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 窗口可见
frame.setVisible(true);
}
private void addassembly() {
// 添加字体
jLabel.setFont(font);
jLabel2.setFont(font2);
jLabel3.setFont(font2);
jLabel4.setFont(font2);
jLabel5.setFont(font2);
jLabel6.setFont(font2);
jLabel7.setFont(font4);
jLabel7.setForeground(Color.red);
jLabel.setBounds(170, 30, 150, 60);
button.setFont(font2);
field.setFont(font3);
field2.setFont(font3);
field3.setFont(font3);
field4.setFont(font3);
field5.setFont(font3);
field.setForeground(Color.blue);
field2.setForeground(Color.blue);
field3.setForeground(Color.blue);
field4.setForeground(Color.blue);
field5.setForeground(Color.blue);
// 按钮设置大小
button.setPreferredSize(dimension);
button2.setFont(font5);
button2.setBounds(2, 2, 70, 30);
button2.setBackground(Color.cyan);
button2.setOpaque(false);
// 加入面板
jPanel.add(button2);
jPanel.add(jLabel);
jPanel2.add(jLabel2);
jPanel2.add(field);
jPanel3.add(jLabel3);
jPanel3.add(field2);
jPanel4.add(jLabel4);
jPanel4.add(field3);
jPanel5.add(jLabel5);
jPanel5.add(field4);
jPanel5.add(jLabel7);
jPanel6.add(jLabel6);
jPanel6.add(field5);
jPanel7.add(button);
jPanel.setLayout(null);
// 面板位置
jPanel.setBounds(0, 0, 450, 110);
jPanel2.setBounds(0, 110, 450, 50);
jPanel3.setBounds(0, 180, 450, 50);
jPanel4.setBounds(0, 250, 450, 50);
jPanel5.setBounds(0, 320, 450, 70);
jPanel6.setBounds(0, 390, 450, 50);
jPanel7.setBounds(0, 460, 450, 60);
// 添加到窗体
frame.add(jPanel);
frame.add(jPanel2);
frame.add(jPanel3);
frame.add(jPanel4);
frame.add(jPanel5);
frame.add(jPanel6);
frame.add(jPanel7);
}
private void transparent() {
// 标签透明
jLabel.setOpaque(false);
jLabel2.setOpaque(false);
jLabel3.setOpaque(false);
jLabel4.setOpaque(false);
jLabel5.setOpaque(false);
jLabel6.setOpaque(false);
// 文本框透明
field.setOpaque(false);
field2.setOpaque(false);
field3.setOpaque(false);
field4.setOpaque(false);
field5.setOpaque(false);
// 面板透明
jPanel.setOpaque(false);
jPanel2.setOpaque(false);
jPanel3.setOpaque(false);
jPanel4.setOpaque(false);
jPanel5.setOpaque(false);
jPanel6.setOpaque(false);
jPanel6.setOpaque(false);
jPanel7.setOpaque(false);
}
private void addEvent() {
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
user = field.getText().trim();
studentid = field2.getText().trim();
name = field3.getText().trim();
password = field4.getText().trim();
password2 = field5.getText().trim();
if (user.length() == 0) {
JOptionPane.showMessageDialog(null, "用户名不能为空", "警告", JOptionPane.WARNING_MESSAGE);
empty();
} else if (studentid.length() == 0) {
JOptionPane.showMessageDialog(null, "学号不能为空", "警告", JOptionPane.WARNING_MESSAGE);
empty();
} else if (name.length() == 0) {
JOptionPane.showMessageDialog(null, "姓名不能为空", "警告", JOptionPane.WARNING_MESSAGE);
empty();
} else if (password.length() < 6 || password.length() > 12) {
JOptionPane.showMessageDialog(null, "密码输入不正确", "警告", JOptionPane.WARNING_MESSAGE);
empty();
} else if (!(password.equals(password2))) {
JOptionPane.showMessageDialog(null, "两次输入密码不相同", "警告", JOptionPane.WARNING_MESSAGE);
empty();
} else {
if (Adduser.adduser(user, studentid, name, password)) {
JOptionPane.showMessageDialog(null, "注册成功");
//frame.setVisible(false);
frame.dispose();
new Land();
} else {
empty();
}
}
}
});
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
frame.dispose();
new Land();
}
});
}
private void empty() {
field.setText("");
field2.setText("");
field3.setText("");
field4.setText("");
field5.setText("");
}
}
Loading…
Cancel
Save