From f3da2681f3bbe333f78e2a44e96d19ea4f6a3f13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=A1=E5=9D=82=E6=98=B4?= Date: Thu, 6 Feb 2025 20:44:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/msksbr/MainFrm/MainFrm.java | 55 +++++++++++-- src/com/msksbr/MainFrm/MenuBar.java | 68 +++++++++++++-- .../MenuItemDiaog/AcademyThanksDialog.java | 31 ++++++- .../MenuItemDiaog/Adder/BookAdder.java | 62 +++++++++++++- .../MenuItemDiaog/Adder/RentAdder.java | 82 +++++++++++++++++-- .../MenuItemDiaog/Adder/StudentAdder.java | 67 ++++++++++++++- .../MainFrm/MenuItemDiaog/AuthorDIalog.java | 31 +++++++ .../MainFrm/MenuItemDiaog/MITDialog.java | 32 +++++++- .../msksbr/MainFrm/MenuItemDiaog/Remover.java | 58 ++++++++++++- .../MainFrm/MenuItemDiaog/SearchDIalog.java | 61 ++++++++++++++ .../MainFrm/MenuItemDiaog/aboutDIalog.form | 41 ++++++++-- .../MainFrm/MenuItemDiaog/aboutDIalog.java | 49 ++++++++++- .../MainFrm/MenuItemDiaog/showMessae.java | 33 +++++++- 13 files changed, 630 insertions(+), 40 deletions(-) diff --git a/src/com/msksbr/MainFrm/MainFrm.java b/src/com/msksbr/MainFrm/MainFrm.java index c9de6d7..7a29640 100644 --- a/src/com/msksbr/MainFrm/MainFrm.java +++ b/src/com/msksbr/MainFrm/MainFrm.java @@ -10,52 +10,88 @@ import java.awt.event.*; import java.sql.ResultSet; import java.sql.SQLException; +/** + * 主窗口类,继承自JFrame,用于显示图书管理系统的主界面 + */ public class MainFrm extends JFrame { + // 数据库连接器对象,用于与数据库进行交互 private Connector connector; + // 主面板,用于容纳其他组件 private JPanel panel1; + // 表格面板,用于显示数据表格(当前未使用) private JPanel tablePanel; + // 底部面板,用于显示统计信息 private JPanel bottomPanel; + // 背景标签,用于显示背景图片 private JLabel backLabel; + // 统计信息标签,用于显示图书、学生和借阅记录的数量 private JLabel countMessage = new JLabel(); + // 菜单栏对象,用于显示菜单选项 private MenuBar menuBar; + /** + * 构造方法,初始化主窗口并设置相关属性 + * @throws SQLException 如果数据库操作失败抛出此异常 + * @throws ClassNotFoundException 如果找不到数据库驱动类抛出此异常 + */ public MainFrm() throws SQLException, ClassNotFoundException { + // 设置窗口图标 setIconImage(new ImageIcon("src/com/msksbr/images/mainicon.png").getImage()); + // 初始化数据库连接器 connector = new Connector(); + // 设置窗口标题 setTitle("图书管理系统"); + // 设置窗口内容面板 setContentPane(panel1); + // 调整窗口大小以适应内容 pack(); + // 初始化菜单栏 menuBar = new MenuBar(); - - + // 设置窗口的菜单栏 setJMenuBar(menuBar); + // 设置窗口关闭操作 setDefaultCloseOperation(EXIT_ON_CLOSE); + // 设置窗口大小 setSize(960, 720); + // 获取并设置统计信息 String countData = "本馆共藏书" + getCount("books") + "本,共记录学生信息" + getCount("students") + "条,已借阅" + getCount("rents") + "本书,人均借阅" + (double) getCount("rents") / getCount("students") + "本"; countMessage.setText(countData); + // 将统计信息标签添加到底部面板 bottomPanel.add(countMessage); + // 创建并设置背景图片 ImageIcon imageIcon = new ImageIcon("src/com/msksbr/images/backGround.png"); imageIcon.setImage(imageIcon.getImage().getScaledInstance(250, 250, 0)); - + // 设置背景标签的图标 backLabel.setIcon(imageIcon); + // 设置窗口的最小尺寸 setMinimumSize(new Dimension(960, 720)); + // 设置窗口位置 setLocation(); + // 初始化对话框 initDialogs(); + // 设置窗口可见 setVisible(true); } - + /** + * 设置窗口位置,使其居中显示在屏幕上 + */ private void setLocation() { + // 创建一个 ScreenSize 对象,用于获取屏幕尺寸 ScreenSize screenSize = new ScreenSize(); + // 设置窗口位置,使其居中显示在屏幕上 setLocation(screenSize.width / 2 - getWidth() / 2, screenSize.height / 2 - getHeight() / 2); } - + /** + * 初始化对话框,为退出菜单项添加事件监听器 + */ private void initDialogs() { + // 为退出菜单项添加事件监听器,当点击退出菜单项时,调用 System.exit(0) 方法退出程序 menuBar.exitItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -65,9 +101,18 @@ public class MainFrm extends JFrame { ); } + /** + * 获取指定表中的记录数 + * @param table 表名 + * @return 表中的记录数 + * @throws SQLException 如果执行 SQL 查询时发生错误 + */ private int getCount(String table) throws SQLException { + // 执行 SQL 查询,获取指定表中的记录数 ResultSet rs = connector.executeQuery("SELECT COUNT(*) FROM " + table + ";"); + // 将结果集指针移动到第一行 rs.next(); + // 返回查询结果中的记录数 return rs.getInt("COUNT(*)"); } } diff --git a/src/com/msksbr/MainFrm/MenuBar.java b/src/com/msksbr/MainFrm/MenuBar.java index 6e45e05..facf184 100644 --- a/src/com/msksbr/MainFrm/MenuBar.java +++ b/src/com/msksbr/MainFrm/MenuBar.java @@ -9,114 +9,161 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +/** + * 主窗口菜单栏类,继承自JMenuBar,用于创建和管理菜单栏及其菜单项 + */ public class MenuBar extends JMenuBar { + // 退出菜单项,用于退出应用程序 public JMenuItem exitItem; + // 关于对话框,用于显示关于软件的信息 protected com.msksbr.MainFrm.MenuItemDiaog.aboutDIalog aboutDIalog; + // 作者对话框,用于显示软件作者的信息 protected AuthorDIalog authorDIalog; + /** + * 构造方法,初始化菜单栏并添加菜单项 + */ public MenuBar() { // “文件“菜单 JMenu fileMenu = new JMenu("文件"); + // 创建退出菜单项 exitItem = new JMenuItem("退出"); + // 将退出菜单项添加到文件菜单 fileMenu.add(exitItem); // ”查询“菜单 JMenu searchMenu = new JMenu("查询"); + // 创建查询图书信息菜单项 JMenuItem bookSearch = new JMenuItem("查询图书信息"); + // 为查询图书信息菜单项添加事件监听器,当点击时弹出图书信息查询对话框 bookSearch.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - new SearchDIalog("books"); - } - } - ); + @Override + public void actionPerformed(ActionEvent e) { + new SearchDIalog("books"); + } + }); + // 创建查询学生信息菜单项 JMenuItem studentSearch = new JMenuItem("查询学生信息"); + // 为查询学生信息菜单项添加事件监听器,当点击时弹出学生信息查询对话框 studentSearch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new SearchDIalog("students"); } }); + // 创建查询借阅信息菜单项 JMenuItem rentSearch = new JMenuItem("查询借阅信息"); + // 为查询借阅信息菜单项添加事件监听器,当点击时弹出借阅信息查询对话框 rentSearch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new SearchDIalog("rents"); } }); + // 将查询图书信息菜单项添加到查询菜单 searchMenu.add(bookSearch); + // 将查询学生信息菜单项添加到查询菜单 searchMenu.add(studentSearch); + // 将查询借阅信息菜单项添加到查询菜单 searchMenu.add(rentSearch); // ”添加“菜单 JMenu addMenu = new JMenu("添加"); + // 创建添加图书信息菜单项 JMenuItem bookAdd = new JMenuItem("添加图书信息"); + // 为添加图书信息菜单项添加事件监听器,当点击时弹出图书信息添加对话框 bookAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new BookAdder(); } }); + // 创建添加学生信息菜单项 JMenuItem studentAdd = new JMenuItem("添加学生信息"); + // 为添加学生信息菜单项添加事件监听器,当点击时弹出学生信息添加对话框 studentAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new StudentAdder(); } }); + // 创建添加借阅信息菜单项 JMenuItem rentAdd = new JMenuItem("添加借阅信息"); + // 为添加借阅信息菜单项添加事件监听器,当点击时弹出借阅信息添加对话框 rentAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new RentAdder(); } }); + // 将添加图书信息菜单项添加到添加菜单 addMenu.add(bookAdd); + // 将添加学生信息菜单项添加到添加菜单 addMenu.add(studentAdd); + // 将添加借阅信息菜单项添加到添加菜单 addMenu.add(rentAdd); // ”删除“菜单 JMenu removeMenu = new JMenu("删除"); + // 创建删除图书信息菜单项 JMenuItem bookRemove = new JMenuItem("删除图书信息"); + // 为删除图书信息菜单项添加事件监听器,当点击时弹出图书信息删除对话框 bookRemove.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new Remover("books"); } }); + // 创建删除学生信息菜单项 JMenuItem studentRemove = new JMenuItem("删除学生信息"); + // 为删除学生信息菜单项添加事件监听器,当点击时弹出学生信息删除对话框 studentRemove.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new Remover("students"); } }); + // 创建删除借阅信息菜单项 JMenuItem rentRemove = new JMenuItem("删除借阅信息"); + // 为删除借阅信息菜单项添加事件监听器,当点击时弹出借阅信息删除对话框 rentRemove.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new Remover("rents"); } }); + // 将删除图书信息菜单项添加到删除菜单 removeMenu.add(bookRemove); + // 将删除学生信息菜单项添加到删除菜单 removeMenu.add(studentRemove); + // 将删除借阅信息菜单项添加到删除菜单 removeMenu.add(rentRemove); // ”关于“菜单 JMenu aboutMenu = new JMenu("关于"); + // 创建关于软件菜单项 JMenuItem about = new JMenuItem("关于软件"); + // 创建关于软件的对话框 aboutDIalog = new aboutDIalog(); + // 为关于软件菜单项添加事件监听器,当点击时显示关于软件的对话框 about.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { aboutDIalog.setVisible(true); } }); + // 创建作者菜单项 JMenuItem author = new JMenuItem("作者"); + // 创建软件作者的对话框 authorDIalog = new AuthorDIalog(); + // 为作者菜单项添加事件监听器,当点击时显示软件作者的对话框 author.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { authorDIalog.setVisible(true); } }); + // 创建MIT许可证菜单项 JMenuItem MITLicense = new JMenuItem("MIT许可证"); + // 为MIT许可证菜单项添加事件监听器,当点击时显示MIT许可证的对话框 MITLicense.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new MITDialog(); } }); + // 创建鸣谢菜单项 JMenuItem thanksItem = new JMenuItem("鸣谢"); + // 为鸣谢菜单项添加事件监听器,当点击时显示鸣谢信息的对话框 thanksItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -124,16 +171,25 @@ public class MenuBar extends JMenuBar { } } ); + // 将关于软件菜单项添加到关于菜单 aboutMenu.add(about); + // 将作者菜单项添加到关于菜单 aboutMenu.add(author); + // 将MIT许可证菜单项添加到关于菜单 aboutMenu.add(MITLicense); + // 将鸣谢菜单项添加到关于菜单 aboutMenu.add(thanksItem); //将菜单加入菜单栏 + // 将文件菜单添加到菜单栏 add(fileMenu); + // 将查询菜单添加到菜单栏 add(searchMenu); + // 将添加菜单添加到菜单栏 add(addMenu); + // 将删除菜单添加到菜单栏 add(removeMenu); + // 将关于菜单添加到菜单栏 add(aboutMenu); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/AcademyThanksDialog.java b/src/com/msksbr/MainFrm/MenuItemDiaog/AcademyThanksDialog.java index 237f59d..7d2e116 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/AcademyThanksDialog.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/AcademyThanksDialog.java @@ -6,36 +6,65 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +/** + * AcademyThanksDialog 类用于显示鸣谢信息的对话框。 + */ public class AcademyThanksDialog extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 图片标签 private JLabel imageLabel; + /** + * AcademyThanksDialog 构造函数,初始化对话框并设置相关属性。 + */ public AcademyThanksDialog() { + // 设置对话框标题 setTitle("鸣谢"); + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为非模态对话框 setModal(false); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + + // 设置图片标签的图标 imageLabel.setIcon(new ImageIcon("src/com/msksbr/images/academy_logo.png")); + // 调整对话框大小以适应内容 pack(); + // 设置对话框不可调整大小 setResizable(false); + // 设置对话框位置 setLocation(); + // 设置对话框始终在最顶层显示 setAlwaysOnTop(true); + // 设置对话框可见 setVisible(true); } + /** + * 点击确认按钮时执行的操作,关闭对话框。 + */ private void onOK() { - // 在此处添加您的代码 + // 关闭对话框 dispose(); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/BookAdder.java b/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/BookAdder.java index c6a43f5..7a8c512 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/BookAdder.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/BookAdder.java @@ -10,76 +10,132 @@ import java.awt.print.Book; import java.sql.ResultSet; import java.sql.SQLException; +/** + * BookAdder 类用于添加图书信息的对话框。 + */ public class BookAdder extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 书名文本框 private JTextField textField1; + // 图书类型文本框 private JTextField textField2; + // 图书ID文本框 private JTextField IDField; + // ISBN文本框 private JTextField textField4; + // 数据库连接器 private Connector connector; + // 图书ID private int bID; + // 书名 private String bName; + // 图书类型 private String bType; + // ISBN private String ISBN; + // SQL语句 private String sql; + /** + * BookAdder 构造函数,初始化对话框并设置相关属性。 + */ public BookAdder() { - try { + // 初始化数据库连接器 connector = new Connector(); + // 获取最大图书ID并加1作为新图书的ID bID = getBookMaxID() + 1; } catch (ClassNotFoundException e) { + // 抛出运行时异常 throw new RuntimeException(e); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + // 设置图书ID文本框的文本为新图书的ID,并设置为不可编辑 IDField.setText(String.valueOf(bID)); IDField.setEditable(false); + // 设置对话框标题 setTitle("添加图书信息"); + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 设置对话框不可调整大小 setResizable(false); + // 调整对话框大小以适应内容 pack(); + // 设置对话框位置 setLocation(); + // 设置对话框可见 setVisible(true); - } + /** + * 点击确认按钮时执行的操作,获取用户输入的图书信息并插入到数据库中。 + */ private void onOK() { + // 获取书名 bName = textField1.getText(); + // 获取图书类型 bType = textField2.getText(); + // 获取ISBN ISBN = textField4.getText(); + // 构建插入图书信息的SQL语句 sql = "INSERT INTO books (book_name,book_id,book_type,ISBN) VALUES ('" + bName + "'," + bID + ",'" + bType + "','" + ISBN + "');"; + // 执行SQL语句 commit2SQL(); - // 在此处添加您的代码 + // 关闭对话框 dispose(); } + /** + * 获取最大图书ID。 + * @return 最大图书ID + * @throws SQLException 如果执行SQL查询时发生错误 + */ public int getBookMaxID() throws SQLException { + // 执行SQL查询,获取最大图书ID ResultSet rs = connector.executeQuery("SELECT MAX(book_id) FROM books;"); + // 将结果集指针移动到第一行 rs.next(); + // 返回最大图书ID return rs.getInt("MAX(book_id)"); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } + /** + * 执行SQL插入操作,将图书信息插入到数据库中。 + */ private void commit2SQL() { try { + // 执行SQL插入操作 connector.executeUpdate(sql); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/RentAdder.java b/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/RentAdder.java index 2b4734a..dee7af0 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/RentAdder.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/RentAdder.java @@ -9,85 +9,151 @@ import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; +/** + * RentAdder 类用于添加借阅信息的对话框。 + */ public class RentAdder extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 图书ID文本框 private JTextField bIDField; + // 学生ID文本框 private JTextField sIDField; + // 图书ID private int bID; + // 学生ID private int sID; + // 图书数据库连接器 private Connector bConnector; + // 学生数据库连接器 private Connector sConnector; + // 查询图书信息的SQL语句 private String bookSearchSQL; + // 查询学生信息的SQL语句 private String studentSearchSQL; + // 更新借阅信息的SQL语句 private String updateSQL; + // 查询图书信息的结果集 private ResultSet bIDResult; + // 查询学生信息的结果集 private ResultSet sIDResult; + /** + * RentAdder 构造函数,初始化对话框并设置相关属性。 + */ public RentAdder() { try { + // 初始化图书数据库连接器 bConnector = new Connector(); + // 初始化学生数据库连接器 sConnector = new Connector(); } catch (ClassNotFoundException e) { + // 抛出运行时异常 throw new RuntimeException(e); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 设置对话框标题 setTitle("添加借阅信息"); + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + + // 调整对话框大小以适应内容 pack(); + // 设置对话框不可调整大小 setResizable(false); + // 设置对话框位置 setLocation(); + // 设置对话框可见 setVisible(true); } + /** + * 点击确认按钮时执行的操作,获取用户输入的借阅信息并更新到数据库中。 + */ private void onOK() { - // 在此处添加您的代码 try { - this.bID = Integer.valueOf(bIDField.getText()); - this.sID = Integer.valueOf(sIDField.getText()); + // 获取图书ID + this.bID = Integer.parseInt(bIDField.getText()); + // 获取学生ID + this.sID = Integer.parseInt(sIDField.getText()); + // 生成查询SQL语句 searchSQLMaker(); + // 生成更新SQL语句 updateSQLMaker(); + // 执行查询图书信息的SQL语句 bIDResult = bConnector.executeQuery(bookSearchSQL); + // 执行查询学生信息的SQL语句 sIDResult = sConnector.executeQuery(studentSearchSQL); + // 如果未找到图书信息,弹出错误提示框 if (!bIDResult.next()) { JOptionPane.showMessageDialog(this, "未找到该书信息", "错误", JOptionPane.WARNING_MESSAGE); - } else if (!sIDResult.next()) { + } + // 如果未找到学生信息,弹出错误提示框 + else if (!sIDResult.next()) { JOptionPane.showMessageDialog(this, "未找到学生信息", "错误", JOptionPane.WARNING_MESSAGE); - } else { - if (bIDResult.getInt("borrowed_by") == 0) { - bConnector.executeUpdate(updateSQL); - } else { + } + // 如果图书已借出,弹出错误提示框 + else { + if (bIDResult.getInt("borrowed_by") != 0) { JOptionPane.showMessageDialog(this, "该书已借出", "错误", JOptionPane.WARNING_MESSAGE); } + // 如果图书未借出,更新借阅信息 + else { + bConnector.executeUpdate(updateSQL); + } } } catch (NumberFormatException e) { + // 如果输入的不是整数,弹出错误提示框 JOptionPane.showMessageDialog(this, "请输入一个整数", "错误", JOptionPane.ERROR_MESSAGE); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + // 关闭对话框 dispose(); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } + /** + * 生成查询SQL语句。 + */ private void searchSQLMaker() { + // 生成查询图书信息的SQL语句 this.bookSearchSQL = "SELECT * FROM books WHERE book_id =" + this.bID + ";"; + // 生成查询学生信息的SQL语句 this.studentSearchSQL = "SELECT * FROM students WHERE student_id =" + this.sID + ";"; } + /** + * 生成更新SQL语句。 + */ private void updateSQLMaker() { + // 生成更新借阅信息的SQL语句 this.updateSQL = "UPDATE books SET borrowed_by = " + this.sID + " WHERE book_id =" + this.bID + ";"; } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/StudentAdder.java b/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/StudentAdder.java index 4a5d966..3c51adc 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/StudentAdder.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/Adder/StudentAdder.java @@ -10,88 +10,149 @@ import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; +/** + * StudentAdder 类用于添加学生信息的对话框。 + */ public class StudentAdder extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 学生姓名文本框 private JTextField textField1; + // 学生ID文本框 private JTextField IDField; + // 学生班级文本框 private JTextField textField3; + // 男性单选按钮 private JRadioButton maleRadioButton; + // 女性单选按钮 private JRadioButton femaleRadioButton; + // 数据库连接器 private Connector connector; + // 学生姓名 private String sName; + // 学生ID private int sID; + // 学生班级 private String sClass; + // 学生性别 private String sGender; + // 性别按钮组 private ButtonGroup genderGroup; + // SQL语句 private String sql; + /** + * StudentAdder 构造函数,初始化对话框并设置相关属性。 + */ public StudentAdder() { - try { + // 初始化数据库连接器 connector = new Connector(); } catch (ClassNotFoundException e) { + // 抛出运行时异常 throw new RuntimeException(e); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + // 创建性别按钮组并添加单选按钮 genderGroup = new ButtonGroup(); genderGroup.add(maleRadioButton); genderGroup.add(femaleRadioButton); + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); try { + // 获取最大学生ID并加1作为新学生的ID sID = getStudentMaxID() + 1; + // 设置学生ID文本框的文本为新学生的ID,并设置为不可编辑 IDField.setText(String.valueOf(sID)); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } IDField.setEditable(false); + // 设置对话框标题 setTitle("添加学生信息"); + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 设置对话框大小 setSize(new Dimension(260, 265)); + // 设置对话框不可调整大小 setResizable(false); + // 调整对话框大小以适应内容 pack(); + // 设置对话框位置 setLocation(); + // 设置对话框可见 setVisible(true); - } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } + /** + * 点击确认按钮时执行的操作,获取用户输入的学生信息并插入到数据库中。 + */ private void onOK() { - // 在此处添加您的代码 + // 获取学生姓名 sName = textField1.getText(); + // 获取学生班级 sClass = textField3.getText(); + // 获取学生性别 sGender = maleRadioButton.isSelected() ? "男" : "女"; + // 构建插入学生信息的SQL语句 sql = "INSERT INTO students (student_name,student_id,student_class,student_gender) VALUES ('" + sName + "'," + sID + ",'" + sClass + "','" + sGender + "');"; + // 执行SQL语句 commit2SQL(); + // 关闭对话框 dispose(); } + /** + * 执行SQL插入操作,将学生信息插入到数据库中。 + */ private void commit2SQL() { try { + // 执行SQL插入操作 connector.executeUpdate(sql); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } } + /** + * 获取最大学生ID。 + * @return 最大学生ID + * @throws SQLException 如果执行SQL查询时发生错误 + */ public int getStudentMaxID() throws SQLException { + // 执行SQL查询,获取最大学生ID ResultSet rs = connector.executeQuery("SELECT MAX(student_id) FROM students;"); + // 将结果集指针移动到第一行 rs.next(); + // 返回最大学生ID return rs.getInt("MAX(student_id)"); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/AuthorDIalog.java b/src/com/msksbr/MainFrm/MenuItemDiaog/AuthorDIalog.java index a8d84ac..a3dd7d2 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/AuthorDIalog.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/AuthorDIalog.java @@ -6,33 +6,64 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +/** + * AuthorDIalog 类用于显示作者信息的对话框。 + */ public class AuthorDIalog extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 图标面板 private JPanel iconPanel; + /** + * AuthorDIalog 构造函数,初始化对话框并设置相关属性。 + */ public AuthorDIalog() { + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为非模态对话框 setModal(false); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 设置对话框初始不可见 setVisible(false); + + // 创建作者标签并设置图标 JLabel authorLabel = new JLabel(); authorLabel.setIcon(new ImageIcon("src/com/msksbr/images/AuthorProfile.jpg")); + // 将作者标签添加到图标面板 iconPanel.add(authorLabel); + + // 设置对话框关闭时的操作 setDefaultCloseOperation(DISPOSE_ON_CLOSE); + // 设置对话框标题 setTitle("作者"); + + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 dispose(); } }); + + // 设置对话框不可调整大小 setResizable(false); + // 设置对话框始终在最顶层显示 setAlwaysOnTop(true); + // 调整对话框大小以适应内容 pack(); + // 设置对话框位置 setLocation(); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/MITDialog.java b/src/com/msksbr/MainFrm/MenuItemDiaog/MITDialog.java index 53c8c53..f246f41 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/MITDialog.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/MITDialog.java @@ -6,14 +6,26 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +/** + * MITDialog 类用于显示 MIT 许可证信息的对话框。 + */ public class MITDialog extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 显示 MIT 许可证文本的文本面板 private JTextPane MITPane; + /** + * MITDialog 构造函数,初始化对话框并设置相关属性。 + */ public MITDialog() { + // 设置对话框标题 setTitle("开源信息"); + // 设置 MITPane 为不可编辑 MITPane.setEditable(false); + // 设置 MITPane 的文本内容为 MIT 许可证信息 MITPane.setText("MIT License\n" + "\n" + "Copyright (c) 2024 御坂昴\n" + @@ -35,30 +47,48 @@ public class MITDialog extends JDialog { "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n" + "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n" + "SOFTWARE.\n"); + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 设置对话框为非模态对话框 setModal(false); + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + // 调整对话框大小以适应内容 pack(); + // 设置对话框不可调整大小 setResizable(false); + // 设置对话框位置 setLocation(); + // 设置对话框始终在最顶层显示 setAlwaysOnTop(true); + // 设置对话框可见 setVisible(true); } + /** + * 点击确认按钮时执行的操作,关闭对话框。 + */ private void onOK() { - // 在此处添加您的代码 + // 关闭对话框 dispose(); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/Remover.java b/src/com/msksbr/MainFrm/MenuItemDiaog/Remover.java index 3211a42..bef7a87 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/Remover.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/Remover.java @@ -9,35 +9,61 @@ import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; +/** + * Remover 类用于删除数据库中的记录。 + */ public class Remover extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 标签,用于显示提示信息 private JLabel idLable; + // 文本框,用于输入要删除的记录的ID private JTextField idField; + // 要操作的表名 private String table; + // 搜索SQL语句 private String Searchsql; + // 搜索SQL语句 private String searchSQL; + // 删除SQL语句 private String deleteSQL; + // 搜索错误信息 private String searchErrMsg; + // 要删除的记录的ID private int id; + // 用于执行搜索操作的数据库连接器 private Connector searchConnector; + // 用于执行删除操作的数据库连接器 private Connector deleteConnector; + /** + * Remover 构造函数,初始化对话框并设置相关属性。 + * @param table 要操作的表名 + */ public Remover(String table) { try { + // 初始化搜索和删除连接器 searchConnector = new Connector(); deleteConnector = new Connector(); } catch (ClassNotFoundException e) { + // 抛出运行时异常 throw new RuntimeException(e); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + // 设置要操作的表名 this.table = table; + // 根据表名设置对话框标题和提示信息 if (table.equals("books")) { setTitle("删除图书信息"); idLable.setText("请输入书号:"); @@ -51,36 +77,58 @@ public class Remover extends JDialog { idLable.setText("请输入书号:"); searchErrMsg = "未找到该借阅信息"; } + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 调整对话框大小以适应内容 pack(); + // 设置对话框不可调整大小 setResizable(false); + // 设置对话框位置 setLocation(); + // 设置对话框可见 setVisible(true); } + /** + * 点击确认按钮时执行的操作,删除指定的记录。 + */ private void onOK() { - // 在此处添加您的代码 try { + // 获取要删除的记录的ID this.id = Integer.valueOf(idField.getText()); + // 生成搜索SQL语句 searchSQLMaker(); + // 生成删除SQL语句 deleteSQLMaker(); + // 执行搜索操作 ResultSet rs = searchConnector.executeQuery(searchSQL); + // 如果找到记录,则执行删除操作 if (rs.next()) { deleteConnector.executeUpdate(deleteSQL); } else { + // 如果未找到记录,则显示错误信息 JOptionPane.showMessageDialog(this, searchErrMsg, "错误", JOptionPane.WARNING_MESSAGE); } } catch (NumberFormatException e) { + // 如果输入的ID不是整数,则显示错误信息 JOptionPane.showMessageDialog(this, "请输入一个整数", "错误", JOptionPane.ERROR_MESSAGE); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + // 关闭对话框 dispose(); } + /** + * 生成搜索SQL语句。 + */ private void searchSQLMaker() { + // 根据表名生成搜索SQL语句 if (table.equals("books")) { searchSQL = "select * from " + table + " where book_id=" + id + ";"; } else if (table.equals("students")) { @@ -90,7 +138,11 @@ public class Remover extends JDialog { } } + /** + * 生成删除SQL语句。 + */ private void deleteSQLMaker() { + // 根据表名生成删除SQL语句 if (table.equals("books")) { deleteSQL = "delete from " + table + " where book_id=" + id + ";"; } else if (table.equals("students")) { @@ -100,7 +152,11 @@ public class Remover extends JDialog { } } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/SearchDIalog.java b/src/com/msksbr/MainFrm/MenuItemDiaog/SearchDIalog.java index e8ebdd5..d6eea31 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/SearchDIalog.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/SearchDIalog.java @@ -11,18 +11,35 @@ import java.awt.event.KeyEvent; import java.sql.ResultSet; import java.sql.SQLException; +/** + * SearchDIalog 类用于显示查询对话框,并根据用户输入的信息查询数据库中的记录。 + */ public class SearchDIalog extends JDialog { + // 用于显示查询结果的标签 public JLabel messageLabel; + // 用于存储用户输入的ID protected int idInt; + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 用于输入ID的文本框 private JTextField idFIeld; + // 要查询的表名 private String table; + /** + * SearchDIalog 构造函数,初始化对话框并设置相关属性。 + * @param table 要查询的表名 + */ public SearchDIalog(String table) { + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 根据表名设置对话框标题和提示信息 if (table.equals("books")) { this.table = "books"; this.setTitle("查询图书信息"); @@ -36,20 +53,31 @@ public class SearchDIalog extends JDialog { this.setTitle("查询借阅信息"); messageLabel.setText("请输入书号:"); } + // 设置事件监听器 setListener(); + // 调整对话框大小以适应内容 pack(); + // 设置对话框位置 setLocation(); + // 设置对话框可见 setVisible(true); } + /** + * 设置事件监听器,包括确认按钮的点击事件和文本框的回车键事件。 + */ private void setListener() { + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + // 为文本框添加键盘事件监听器 idFIeld.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { + // 当用户按下回车键时执行的操作 if (e.getKeyCode() == KeyEvent.VK_ENTER) { onOK(); } @@ -57,16 +85,28 @@ public class SearchDIalog extends JDialog { }); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ private void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } + /** + * 点击确认按钮或按下回车键时执行的操作,查询数据库并显示结果。 + */ private void onOK() { + // 执行SQL查询并获取结果集 ResultSet rs = SQLExe(); + // 用于存储查询结果的字符串 String message = ""; try { + // 如果结果集不为空且有下一条记录 if (rs != null && rs.next()) { + // 用于存储查询结果的标题 String title = ""; + // 根据表名生成查询结果的字符串 if (table.equals("books")) { message = "书名:\t" + rs.getString("book_name") + "\n类别:\t" + rs.getString("book_type") + "\n书号:\t" + rs.getInt("book_id") + "\nISBN:\t" + rs.getString("ISBN"); title = "图书信息"; @@ -77,32 +117,53 @@ public class SearchDIalog extends JDialog { message = "学生姓名:\t" + rs.getString("student_name") + "\n学号:\t" + rs.getInt("student_id") + "\n班级:\t" + rs.getString("student_class") + "\n性别:\t" + rs.getString("student_gender") + "\n书名:\t" + rs.getString("book_name") + "\n书号:\t" + rs.getInt("book_id") + "\n类别:\t" + rs.getString("book_type") + "\nISBN:\t" + rs.getString("ISBN"); title = "借阅信息"; } + // 显示查询结果 new showMessae(message, title); } else { + // 如果未找到记录,则显示错误信息 JOptionPane.showMessageDialog(this, "未找到", "未找到", JOptionPane.WARNING_MESSAGE); } } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } } + /** + * 执行SQL查询并返回结果集。 + * @return 查询结果集 + */ private ResultSet SQLExe() { + // 用于存储查询结果集 ResultSet rs = null; try { + // 将用户输入的ID转换为整数 idInt = Integer.valueOf(idFIeld.getText()); + // 创建数据库连接器 Connector connector = new Connector(); + // 执行SQL查询并获取结果集 rs = connector.executeQuery(SQLExeMaker(table)); } catch (NumberFormatException e) { + // 如果用户输入的ID不是整数,则显示错误信息 JOptionPane.showMessageDialog(this, "请输入一个整数", "错误", JOptionPane.ERROR_MESSAGE); } catch (SQLException e) { + // 抛出运行时异常 throw new RuntimeException(e); } catch (ClassNotFoundException e) { + // 抛出运行时异常 throw new RuntimeException(e); } + // 返回查询结果集 return rs; } + /** + * 根据表名生成SQL查询语句。 + * @param table 要查询的表名 + * @return SQL查询语句 + */ private String SQLExeMaker(String table) { + // 根据表名生成SQL查询语句 if (table.equals("books")) { return "SELECT * FROM `books` WHERE `book_id` = " + idInt + ";"; } else if (table.equals("students")) { diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.form b/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.form index e8831e2..5d28599 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.form +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.form @@ -3,7 +3,7 @@ - + @@ -40,18 +40,41 @@ - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.java b/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.java index 9346a8e..96f9e4d 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/aboutDIalog.java @@ -5,40 +5,85 @@ import com.msksbr.LoginFrm.ScreenSize; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.net.URL; +/** + * aboutDIalog 类用于显示关于图书管理系统的对话框。 + */ public class aboutDIalog extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 图标面板 private JPanel iconPanel; + /** + * aboutDIalog 构造函数,初始化对话框并设置相关属性。 + */ public aboutDIalog() { + // 设置对话框标题 setTitle("关于图书管理系统"); + // 设置对话框初始不可见 setVisible(false); + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 设置对话框不可调整大小 setResizable(false); + + // 创建图标标签并设置图标 JLabel iconLabel = new JLabel(); - iconLabel.setIcon(new ImageIcon("src/com/msksbr/images/logo_128.png")); + // 使用类加载器获取资源的URL + URL iconUrl = getClass().getResource("/com/msksbr/images/logo_128.png"); + if (iconUrl != null) { + // 创建ImageIcon对象 + iconLabel.setIcon(new ImageIcon(iconUrl)); + } else { + // 如果资源未找到,记录错误或显示默认图标 + System.err.println("图标资源未找到: /com/msksbr/images/logo_128.png"); + // 可以在这里设置一个默认图标 + // iconLabel.setIcon(new ImageIcon("path/to/default/icon.png")); + } + + // 将图标标签添加到图标面板 iconPanel.add(iconLabel); + + // 设置对话框为非模态对话框 setModal(false); + // 设置对话框始终在最顶层显示 setAlwaysOnTop(true); + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + + // 调整对话框大小以适应内容 pack(); + // 设置对话框位置 setLocation(); } + /** + * 点击确认按钮时执行的操作,关闭对话框。 + */ private void onOK() { - // 在此处添加您的代码 + // 关闭对话框 dispose(); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } } diff --git a/src/com/msksbr/MainFrm/MenuItemDiaog/showMessae.java b/src/com/msksbr/MainFrm/MenuItemDiaog/showMessae.java index 41b4394..959ccc5 100644 --- a/src/com/msksbr/MainFrm/MenuItemDiaog/showMessae.java +++ b/src/com/msksbr/MainFrm/MenuItemDiaog/showMessae.java @@ -6,36 +6,67 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +/** + * showMessae 类用于显示一个包含指定消息的模态对话框。 + */ public class showMessae extends JDialog { + // 内容面板 private JPanel contentPane; + // 确认按钮 private JButton buttonOK; + // 用于显示消息的文本面板 private JTextPane textPane1; + /** + * showMessae 构造函数,初始化对话框并设置相关属性。 + * @param message 要显示的消息内容 + * @param title 对话框的标题 + */ public showMessae(String message, String title) { + // 设置对话框的内容面板 setContentPane(contentPane); + // 设置对话框为模态对话框 setModal(true); + // 设置默认按钮为确认按钮 getRootPane().setDefaultButton(buttonOK); + // 为确认按钮添加事件监听器 buttonOK.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + // 点击确认按钮时执行的操作 onOK(); } }); + + // 设置文本面板的内容为传入的消息 this.textPane1.setText(message); + // 设置对话框的标题 this.setTitle(title); + // 设置文本面板为不可编辑 textPane1.setEditable(false); + // 调整对话框大小以适应内容 pack(); + // 设置对话框不可调整大小 setResizable(false); + // 设置对话框位置 setCenterLocation(); + // 设置对话框可见 setVisible(true); } + /** + * 设置对话框位置,使其居中显示在屏幕上。 + */ public void setCenterLocation() { + // 设置对话框位置,使其居中显示在屏幕上 setLocation(new ScreenSize().width / 2 - getWidth() / 2, new ScreenSize().height / 2 - getHeight() / 2); } + /** + * 点击确认按钮时执行的操作,关闭对话框。 + */ private void onOK() { - // 在此处添加您的代码 + // 关闭对话框 dispose(); } }