Eclipse+Java+Swing實(shí)現(xiàn)圖書(shū)管理系統(tǒng)(詳細(xì)代碼)
一、系統(tǒng)介紹
該系統(tǒng)實(shí)現(xiàn)用戶(hù)注冊(cè)登錄功能。用戶(hù)端實(shí)現(xiàn)書(shū)籍查詢(xún),借書(shū),還書(shū)功能。用戶(hù)能夠查詢(xún)自己的借書(shū)記錄。管理員能夠上架圖書(shū),下架圖書(shū),添加圖書(shū)類(lèi)別,修改圖書(shū)類(lèi)別,刪除圖書(shū)類(lèi)別,添加圖書(shū)信息,修改圖書(shū)信息,修改用戶(hù)信息,查詢(xún)圖書(shū)借閱歸還記錄。
二、系統(tǒng)展示
1.注冊(cè)

2.登錄

3.用戶(hù)端-圖書(shū)查詢(xún)及借閱

4.用戶(hù)端-借閱記錄及歸還

5.管理員端-添加圖書(shū)類(lèi)別

6.管理員端-修改圖書(shū)類(lèi)別

7.管理員端-添加圖書(shū)

8.管理員端-修改圖書(shū)

9.管理員端-管理用戶(hù)信息

10.管理員端-查詢(xún)借閱信息

三、部分代碼
基本類(lèi)什么的就不列出來(lái)了,直接上頁(yè)面。
AdminMainFrm.java
package com.sjsq.view;
import java.awt.event.ActionEvent;
import javax.swing.GroupLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
public class AdminMainFrm extends JFrame {
?? ?private JDesktopPane jD_table;
?? ?private JMenu jMenu1;
?? ?private JMenu jMenu2;
?? ?private JMenu jMenu3;
?? ?private JMenu jMenu4;
?? ?private JMenuBar jMenuBar1;
?? ?private JMenuItem jMenuItem1;
?? ?private JMenuItem jMenuItem2;
?? ?private JMenuItem jMenuItem3;
?? ?private JMenuItem jMenuItem4;
?? ?private JMenuItem jMenuItem5;
?? ?private JMenuItem jMenuItem6;
?? ?private JMenuItem jMenuItem7;
?? ?
?? ?
?? ?public AdminMainFrm() {
?? ??? ?initComponents();
?? ??? ?// 設(shè)置位置
?? ??? ?setBounds(100, 200, 1050, 650);
?? ??? ?// 居中顯示
?? ??? ?this.setLocationRelativeTo(null);
?? ?}
?? ?private void initComponents() {
?? ??? ?jD_table = new JDesktopPane();
?? ??? ?jMenuBar1 = new JMenuBar();
?? ??? ?jMenu1 = new JMenu();
?? ??? ?jMenu2 = new JMenu();
?? ??? ?jMenuItem1 = new JMenuItem();
?? ??? ?jMenuItem2 = new JMenuItem();
?? ??? ?jMenu3 = new JMenu();
?? ??? ?jMenuItem4 = new JMenuItem();
?? ??? ?jMenuItem5 = new JMenuItem();
?? ??? ?jMenu4 = new JMenu();
?? ??? ?jMenuItem6 = new JMenuItem();
?? ??? ?jMenuItem7 = new JMenuItem();
?? ??? ?jMenuItem3 = new JMenuItem();
?? ??? ?setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
?? ??? ?setTitle("管理員主界面");
?? ??? ?jMenu1.setText("基本數(shù)據(jù)管理");
?? ??? ?jMenu2.setText("類(lèi)別管理");
?? ??? ?jMenu2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenu2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ??? ?private void jMenu2ActionPerformed(ActionEvent evt) {
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenuItem1.setText("圖書(shū)類(lèi)別添加");
?? ??? ?jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu2.add(jMenuItem1);
?? ??? ?jMenuItem2.setText("圖書(shū)類(lèi)別修改");
?? ??? ?jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu2.add(jMenuItem2);
?? ??? ?jMenu1.add(jMenu2);
?? ??? ?jMenu3.setText("書(shū)籍管理");
?? ??? ?jMenuItem4.setText("書(shū)籍添加");
?? ??? ?jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem4ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu3.add(jMenuItem4);
?? ??? ?jMenuItem5.setText("書(shū)籍修改");
?? ??? ?jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem5ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu3.add(jMenuItem5);
?? ??? ?jMenu1.add(jMenu3);
?? ??? ?jMenu4.setText("用戶(hù)管理");
?? ??? ?jMenuItem6.setText("用戶(hù)信息");
?? ??? ?jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem6ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu4.add(jMenuItem6);
?? ??? ?jMenuItem7.setText("借還信息");
?? ??? ?jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem7ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu4.add(jMenuItem7);
?? ??? ?jMenu1.add(jMenu4);
?? ??? ?jMenuItem3.setText("退出系統(tǒng)");
?? ??? ?jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem3ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu1.add(jMenuItem3);
?? ??? ?jMenuBar1.add(jMenu1);
?? ??? ?setJMenuBar(jMenuBar1);
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addComponent(jD_table, GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addComponent(jD_table, GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?// 借還信息
?? ?private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?BorrowDetailFrm b = new BorrowDetailFrm();
?? ??? ?b.setVisible(true);
?? ??? ?this.jD_table.add(b);
?? ?}
?? ?// 用戶(hù)信息
?? ?private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?UserInfoFrm userInfoFrm = new UserInfoFrm();
?? ??? ?userInfoFrm.setVisible(true);
?? ??? ?this.jD_table.add(userInfoFrm);
?? ?}
?? ?private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?BookTypeAddFrm addFrm = new BookTypeAddFrm();
?? ??? ?addFrm.setVisible(true);
?? ??? ?this.jD_table.add(addFrm);
?? ?}
?? ?private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?BookManagerFrm bookManagerFrm = new BookManagerFrm();
?? ??? ?bookManagerFrm.setVisible(true);
?? ??? ?this.jD_table.add(bookManagerFrm);
?? ?}
?? ?private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?BookAddFrm bookAddFrm = new BookAddFrm();
?? ??? ?bookAddFrm.setVisible(true);
?? ??? ?this.jD_table.add(bookAddFrm);
?? ?}
?? ?private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?BookTypeManagerFrm bookTypeManagerFrm = new BookTypeManagerFrm();
?? ??? ?bookTypeManagerFrm.setVisible(true);
?? ??? ?this.jD_table.add(bookTypeManagerFrm);
?? ?}
?? ?private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?int i = JOptionPane.showConfirmDialog(null, "確認(rèn)退出系統(tǒng)");
?? ??? ?if (i == 0) {
?? ??? ??? ?this.dispose();
?? ??? ?}
?? ?}
?? ?public static void main(String args[]) {
?? ??? ?java.awt.EventQueue.invokeLater(new Runnable() {
?? ??? ??? ?public void run() {
?? ??? ??? ??? ?new AdminMainFrm().setVisible(true);
?? ??? ??? ?}
?? ??? ?});
?? ?}
}BookAddFrm.java
package com.sjsq.view;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.BookDao;
import com.sjsq.dao.BorrowDetailDao;
import com.sjsq.model.Book;
import com.sjsq.model.BorrowDetail;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
import com.sjsq.util.TimeUtil;
public class BookInfoFrm extends JInternalFrame {
?? ?
?? ?private JTextField bookIdText;
?? ?private JTextField bookName;
?? ?private JTextField bookNameText;
?? ?private JTable bookTable;
?? ?private JButton jB_borrow;
?? ?private JButton jButton1;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JLabel jLabel3;
?? ?private JPanel jPanel1;
?? ?private JScrollPane jScrollPane1;
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BookDao bookDao = new BookDao();
?? ?BorrowDetailDao borrowDetailDao = new BorrowDetailDao();
?? ?
?? ?public BookInfoFrm() {
?? ??? ?initComponents();
?? ??? ?fillTable(new Book());
?? ??? ?setTitle("書(shū)籍信息");
?? ??? ?this.setLocation(200, 50);
?? ?}
?? ?private void fillTable(Book book) {
?? ??? ?DefaultTableModel model = (DefaultTableModel) bookTable.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?book.setStatus(1);
?? ??? ??? ?ResultSet list = bookDao.list(con, book);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(list.getInt("id"));
?? ??? ??? ??? ?rowData.add(list.getString("book_name"));
?? ??? ??? ??? ?rowData.add(list.getString("type_name"));
?? ??? ??? ??? ?rowData.add(list.getString("author"));
?? ??? ??? ??? ?rowData.add(list.getString("remark"));
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?bookTable = new JTable();
?? ??? ?jPanel1 = new JPanel();
?? ??? ?jLabel1 = new JLabel();
?? ??? ?bookNameText = new JTextField();
?? ??? ?jButton1 = new JButton();
?? ??? ?jB_borrow = new JButton();
?? ??? ?jLabel2 = new JLabel();
?? ??? ?bookIdText = new JTextField();
?? ??? ?jLabel3 = new JLabel();
?? ??? ?bookName = new JTextField();
?? ??? ?setClosable(true);
?? ??? ?bookTable.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "編號(hào)", "書(shū)名", "類(lèi)型", "作者", "描述" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?bookTable.addMouseListener(new java.awt.event.MouseAdapter() {
?? ??? ??? ?public void mousePressed(java.awt.event.MouseEvent evt) {
?? ??? ??? ??? ?bookTableMousePressed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(bookTable);
?? ??? ?jLabel1.setText("書(shū)籍名稱(chēng):");
?? ??? ?bookNameText.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?bookNameTextActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jButton1.setText("查詢(xún)");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
?? ??? ?jPanel1.setLayout(jPanel1Layout);
?? ??? ?jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addGap(42, 42, 42).addComponent(jLabel1).addGap(36, 36, 36)
?? ??? ??? ??? ??? ??? ?.addComponent(bookNameText, GroupLayout.PREFERRED_SIZE, 130,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 149, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jButton1).addGap(45, 45, 45)));
?? ??? ?jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGap(23, 23, 23)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton1).addComponent(jLabel1).addComponent(bookNameText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addContainerGap(30, Short.MAX_VALUE)));
?? ??? ?jB_borrow.setText("借書(shū)");
?? ??? ?jB_borrow.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jB_borrowActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jLabel2.setText("編號(hào):");
?? ??? ?bookIdText.setEditable(false);
?? ??? ?jLabel3.setText("書(shū)名:");
?? ??? ?bookName.setEditable(false);
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(22, 22, 22)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ??? ??? ?.createSequentialGroup().addComponent(jLabel2)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ?.addComponent(bookIdText, GroupLayout.PREFERRED_SIZE, 95,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ?.addComponent(bookName, GroupLayout.PREFERRED_SIZE, 127,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 102, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jB_borrow).addGap(88, 88, 88))
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, 507, Short.MAX_VALUE))
?? ??? ??? ??? ??? ??? ??? ??? ?.addContainerGap(38, Short.MAX_VALUE)))));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 225,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 35, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel2).addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookIdText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookName, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jB_borrow))
?? ??? ??? ??? ??? ??? ?.addGap(27, 27, 27)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void jB_borrowActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String bookId = this.bookIdText.getText();
?? ??? ?String bookName = this.bookName.getText();
?? ??? ?if (StringUtil.isEmpty(bookId) || StringUtil.isEmpty(bookName)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)選擇相關(guān)書(shū)籍");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?BorrowDetail borrowDetail = new BorrowDetail();
?? ??? ?borrowDetail.setUserId(LoginFrm.currentUser.getUserId());
?? ??? ?borrowDetail.setBookId(Integer.parseInt(bookId));
?? ??? ?borrowDetail.setStatus(1);
?? ??? ?borrowDetail.setBorrowTime(TimeUtil.getTime());
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?// 先查詢(xún)是否有該書(shū)在借
?? ??? ??? ?ResultSet list = borrowDetailDao.list(con, borrowDetail);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "該書(shū)已在借,請(qǐng)先還再借");
?? ??? ??? ??? ?return;
?? ??? ??? ?}
?? ??? ??? ?int i = borrowDetailDao.add(con, borrowDetail);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "借書(shū)成功");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "借書(shū)失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "借書(shū)異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void bookTableMousePressed(java.awt.event.MouseEvent evt) {
?? ??? ?int row = this.bookTable.getSelectedRow();
?? ??? ?Object bookId = this.bookTable.getValueAt(row, 0);
?? ??? ?Object bookName = this.bookTable.getValueAt(row, 1);
?? ??? ?this.bookIdText.setText(bookId.toString());
?? ??? ?this.bookName.setText(bookName.toString());
?? ?}
?? ?private void bookNameTextActionPerformed(java.awt.event.ActionEvent evt) {
?? ?}
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String bookName = this.bookNameText.getText();
?? ??? ?Book book = new Book();
?? ??? ?book.setBookName(bookName);
?? ??? ?fillTable(book);
?? ?}
}BookManagerFrm.java
package com.sjsq.view;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.BookDao;
import com.sjsq.dao.BookTypeDao;
import com.sjsq.model.Book;
import com.sjsq.model.BookType;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
public class BookManagerFrm extends JInternalFrame {
?? ?
?? ?private JTextField authorText;
?? ?private JTextField bookId;
?? ?private JTextField bookName;
?? ?private JTextField bookNameText;
?? ?private JTable bookTable;
?? ?private JButton jButton1;
?? ?private JButton jButton2;
?? ?private JComboBox jCB_status;
?? ?private JComboBox jCB_type2;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel10;
?? ?private JLabel jLabel11;
?? ?private JLabel jLabel3;
?? ?private JLabel jLabel4;
?? ?private JLabel jLabel5;
?? ?private JLabel jLabel6;
?? ?private JLabel jLabel7;
?? ?private JLabel jLabel8;
?? ?private JLabel jLabel9;
?? ?private JPanel jPanel1;
?? ?private JPanel jPanel2;
?? ?private JScrollPane jScrollPane1;
?? ?private JTextField numberText;
?? ?private JTextField priceText;
?? ?private JTextField publishText;
?? ?private JTextField remarkText;
?? ?
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BookTypeDao bookTypeDao = new BookTypeDao();
?? ?BookDao bookDao = new BookDao();
?? ?
?? ?public BookManagerFrm() {
?? ??? ?initComponents();
?? ??? ?this.jCB_status.addItem("上架");
?? ??? ?this.jCB_status.addItem("下架");
?? ??? ?fillBookTable(new Book());
?? ??? ?fillBookType();
?? ??? ?setTitle("書(shū)籍修改");
?? ??? ?this.setLocation(125, 10);
?? ?}
?? ?private void fillBookType() {
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?ResultSet list = bookTypeDao.list(con, new BookType());
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?BookType bookType = new BookType();
?? ??? ??? ??? ?bookType.setTypeId(list.getInt("id"));
?? ??? ??? ??? ?bookType.setTypeName(list.getString("type_name"));
?? ??? ??? ??? ?this.jCB_type2.addItem(bookType);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void fillBookTable(Book book) {
?? ??? ?DefaultTableModel model = (DefaultTableModel) bookTable.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?ResultSet resultSet = bookDao.list(con, book);
?? ??? ??? ?while (resultSet.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(resultSet.getInt("id"));
?? ??? ??? ??? ?rowData.add(resultSet.getString("book_name"));
?? ??? ??? ??? ?rowData.add(resultSet.getString("type_name"));
?? ??? ??? ??? ?rowData.add(resultSet.getString("author"));
?? ??? ??? ??? ?rowData.add(resultSet.getDouble("price"));
?? ??? ??? ??? ?rowData.add(resultSet.getInt("number"));
?? ??? ??? ??? ?if (resultSet.getInt("status") == 1) {
?? ??? ??? ??? ??? ?rowData.add("上架");
?? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ?rowData.add("下架");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?
?? ?private void initComponents() {
?? ??? ?jPanel1 = new JPanel();
?? ??? ?jLabel1 = new JLabel();
?? ??? ?bookNameText = new JTextField();
?? ??? ?jButton1 = new JButton();
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?bookTable = new JTable();
?? ??? ?jPanel2 = new JPanel();
?? ??? ?jLabel3 = new JLabel();
?? ??? ?bookId = new JTextField();
?? ??? ?jLabel4 = new JLabel();
?? ??? ?bookName = new JTextField();
?? ??? ?jLabel5 = new JLabel();
?? ??? ?authorText = new JTextField();
?? ??? ?jLabel6 = new JLabel();
?? ??? ?publishText = new JTextField();
?? ??? ?jLabel7 = new JLabel();
?? ??? ?priceText = new JTextField();
?? ??? ?jLabel8 = new JLabel();
?? ??? ?numberText = new JTextField();
?? ??? ?jLabel9 = new JLabel();
?? ??? ?jLabel10 = new JLabel();
?? ??? ?jCB_type2 = new JComboBox();
?? ??? ?jLabel11 = new JLabel();
?? ??? ?remarkText = new JTextField();
?? ??? ?jButton2 = new JButton();
?? ??? ?jCB_status = new JComboBox();
?? ??? ?setClosable(true);
?? ??? ?jPanel1.setBorder(BorderFactory.createTitledBorder("查詢(xún)操作"));
?? ??? ?jLabel1.setText("書(shū)名:");
?? ??? ?jButton1.setText("查詢(xún)");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
?? ??? ?jPanel1.setLayout(jPanel1Layout);
?? ??? ?jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGap(25, 25, 25).addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ?.addComponent(bookNameText, GroupLayout.PREFERRED_SIZE, 171,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addGap(62, 62, 62).addComponent(jButton1).addContainerGap(299, Short.MAX_VALUE)));
?? ??? ?jPanel1Layout
?? ??? ??? ??? ?.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGroup(jPanel1Layout
?? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookNameText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton1)).addContainerGap(22, Short.MAX_VALUE)));
?? ??? ?bookTable.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "編號(hào)", "書(shū)名", "類(lèi)別", "作者", "價(jià)格", "庫(kù)存", "狀態(tài)" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false, false, false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?bookTable.addMouseListener(new java.awt.event.MouseAdapter() {
?? ??? ??? ?public void mousePressed(java.awt.event.MouseEvent evt) {
?? ??? ??? ??? ?bookTableMousePressed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(bookTable);
?? ??? ?jPanel2.setBorder(BorderFactory.createTitledBorder("書(shū)籍操作"));
?? ??? ?jLabel3.setText("編號(hào):");
?? ??? ?bookId.setEditable(false);
?? ??? ?jLabel4.setText("書(shū)名:");
?? ??? ?jLabel5.setText("作者:");
?? ??? ?jLabel6.setText("出版:");
?? ??? ?jLabel7.setText("價(jià)格:");
?? ??? ?jLabel8.setText("庫(kù)存:");
?? ??? ?jLabel9.setText("狀態(tài):");
?? ??? ?jLabel10.setText("類(lèi)別:");
?? ??? ?jLabel11.setText("描述:");
?? ??? ?jButton2.setText("修改");
?? ??? ?jButton2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
?? ??? ?jPanel2.setLayout(jPanel2Layout);
?? ??? ?jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(
?? ??? ??? ??? ??? ??? ??? ??? ?jPanel2Layout.createSequentialGroup().addGap(26, 26, 26).addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?jPanel2Layout.createSequentialGroup().addComponent(jLabel9)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addPreferredGap(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jCB_status, 0, 117, Short.MAX_VALUE))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createSequentialGroup().addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel3).addComponent(jLabel6))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addPreferredGap(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?LayoutStyle.ComponentPlacement.RELATED,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(publishText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookId,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, 117,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE))))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(39, 39, 39)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel10)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(27, 27,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?27)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jCB_type2, 0,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?jPanel2Layout.createSequentialGroup().addComponent(jLabel7)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(27, 27, 27).addComponent(priceText))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel4)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(27, 27, 27).addComponent(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?bookName, GroupLayout.PREFERRED_SIZE, 108,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel11)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18).addComponent(remarkText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, 172,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?jPanel2Layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel8).addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(numberText))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?jPanel2Layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel5).addGap(20, 20, 20)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(authorText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?106,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))))
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(97, 97, 97))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addGap(108, 108, 108)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton2)))
?? ??? ??? ??? ??? ??? ?.addContainerGap()));
?? ??? ?jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout
?? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookId, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel6)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(publishText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel7)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(priceText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel8).addComponent(numberText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel9)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jCB_status, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel10)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jCB_type2, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel11).addComponent(remarkText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)))
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel4)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookName, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(authorText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel5)))
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 42, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jButton2).addGap(28, 28, 28)));
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(31, 31, 31)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.Alignment.LEADING).addComponent(jPanel2,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 668,
?? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE))
?? ??? ??? ??? ?.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 186,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18).addComponent(jPanel2, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addContainerGap()));
?? ??? ?pack();
?? ?}
?? ?
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String bookName = this.bookNameText.getText();
?? ??? ?Book book = new Book();
?? ??? ?book.setBookName(bookName);
?? ??? ?fillBookTable(book);
?? ?}
?? ?private void bookTableMousePressed(java.awt.event.MouseEvent evt) {
?? ??? ?int row = bookTable.getSelectedRow();
?? ??? ?Integer bookId = (Integer) bookTable.getValueAt(row, 0);
?? ??? ?Book book = new Book();
?? ??? ?book.setBookId(bookId);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?ResultSet list = bookDao.list(con, book);
?? ??? ??? ?if (list.next()) {
?? ??? ??? ??? ?this.bookId.setText(list.getString("id"));
?? ??? ??? ??? ?this.bookName.setText(list.getString("book_name"));
?? ??? ??? ??? ?this.authorText.setText(list.getString("author"));
?? ??? ??? ??? ?this.publishText.setText(list.getString("publish"));
?? ??? ??? ??? ?this.priceText.setText(list.getString("price"));
?? ??? ??? ??? ?this.numberText.setText(list.getString("number"));
?? ??? ??? ??? ?this.remarkText.setText(list.getString("remark"));
?? ??? ??? ??? ?int status = list.getInt("status");
?? ??? ??? ??? ?if (status == 1) {
?? ??? ??? ??? ??? ?this.jCB_status.setSelectedIndex(0);
?? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ?this.jCB_status.setSelectedIndex(1);
?? ??? ??? ??? ?}
?? ??? ??? ??? ?int typeId = list.getInt("type_id");
?? ??? ??? ??? ?int count = this.jCB_type2.getItemCount();
?? ??? ??? ??? ?for (int i = 0; i < count; i++) {
?? ??? ??? ??? ??? ?BookType bookType = (BookType) this.jCB_type2.getItemAt(i);
?? ??? ??? ??? ??? ?if (bookType.getTypeId() == typeId) {
?? ??? ??? ??? ??? ??? ?this.jCB_type2.setSelectedIndex(i);
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String bookName = this.bookName.getText();
?? ??? ?String author = this.authorText.getText();
?? ??? ?String publish = this.publishText.getText();
?? ??? ?String priceStr = this.priceText.getText();
?? ??? ?String numberStr = this.numberText.getText();
?? ??? ?String remark = this.remarkText.getText();
?? ??? ?String bookId = this.bookId.getText();
?? ??? ?if (StringUtil.isEmpty(bookId) || StringUtil.isEmpty(bookName) || StringUtil.isEmpty(author)
?? ??? ??? ??? ?|| StringUtil.isEmpty(publish) || StringUtil.isEmpty(priceStr) || StringUtil.isEmpty(numberStr)
?? ??? ??? ??? ?|| StringUtil.isEmpty(remark)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)輸入相關(guān)內(nèi)容");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?BookType selectedItem = (BookType) jCB_type2.getSelectedItem();
?? ??? ?Integer typeId = selectedItem.getTypeId();
?? ??? ?int index = jCB_status.getSelectedIndex();
?? ??? ?int number;
?? ??? ?double price;
?? ??? ?try {
?? ??? ??? ?number = Integer.parseInt(numberStr);
?? ??? ??? ?price = new BigDecimal(priceStr).setScale(2, BigDecimal.ROUND_DOWN).doubleValue();
?? ??? ?} catch (Exception e) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "參數(shù)錯(cuò)誤");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?Book book = new Book();
?? ??? ?book.setBookId(Integer.parseInt(bookId));
?? ??? ?book.setBookName(bookName);
?? ??? ?book.setAuthor(author);
?? ??? ?book.setBookTypeId(typeId);
?? ??? ?book.setNumber(number);
?? ??? ?book.setPrice(price);
?? ??? ?book.setPublish(publish);
?? ??? ?book.setRemark(remark);
?? ??? ?book.setStatus(1);
?? ??? ?if (index == 0) {
?? ??? ??? ?book.setStatus(1);
?? ??? ?} else if (index == 1) {
?? ??? ??? ?book.setStatus(2);
?? ??? ?}
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = bookDao.update(con, book);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "修改成功");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "修改失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "修改異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ??? ?fillBookTable(new Book());
?? ?}
}BookInfoFrm.java
package com.sjsq.view;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.BookDao;
import com.sjsq.dao.BorrowDetailDao;
import com.sjsq.model.Book;
import com.sjsq.model.BorrowDetail;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
import com.sjsq.util.TimeUtil;
public class BookInfoFrm extends JInternalFrame {
?? ?
?? ?private JTextField bookIdText;
?? ?private JTextField bookName;
?? ?private JTextField bookNameText;
?? ?private JTable bookTable;
?? ?private JButton jB_borrow;
?? ?private JButton jButton1;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JLabel jLabel3;
?? ?private JPanel jPanel1;
?? ?private JScrollPane jScrollPane1;
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BookDao bookDao = new BookDao();
?? ?BorrowDetailDao borrowDetailDao = new BorrowDetailDao();
?? ?
?? ?public BookInfoFrm() {
?? ??? ?initComponents();
?? ??? ?fillTable(new Book());
?? ??? ?setTitle("書(shū)籍信息");
?? ??? ?this.setLocation(200, 50);
?? ?}
?? ?private void fillTable(Book book) {
?? ??? ?DefaultTableModel model = (DefaultTableModel) bookTable.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?book.setStatus(1);
?? ??? ??? ?ResultSet list = bookDao.list(con, book);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(list.getInt("id"));
?? ??? ??? ??? ?rowData.add(list.getString("book_name"));
?? ??? ??? ??? ?rowData.add(list.getString("type_name"));
?? ??? ??? ??? ?rowData.add(list.getString("author"));
?? ??? ??? ??? ?rowData.add(list.getString("remark"));
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?bookTable = new JTable();
?? ??? ?jPanel1 = new JPanel();
?? ??? ?jLabel1 = new JLabel();
?? ??? ?bookNameText = new JTextField();
?? ??? ?jButton1 = new JButton();
?? ??? ?jB_borrow = new JButton();
?? ??? ?jLabel2 = new JLabel();
?? ??? ?bookIdText = new JTextField();
?? ??? ?jLabel3 = new JLabel();
?? ??? ?bookName = new JTextField();
?? ??? ?setClosable(true);
?? ??? ?bookTable.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "編號(hào)", "書(shū)名", "類(lèi)型", "作者", "描述" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?bookTable.addMouseListener(new java.awt.event.MouseAdapter() {
?? ??? ??? ?public void mousePressed(java.awt.event.MouseEvent evt) {
?? ??? ??? ??? ?bookTableMousePressed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(bookTable);
?? ??? ?jLabel1.setText("書(shū)籍名稱(chēng):");
?? ??? ?bookNameText.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?bookNameTextActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jButton1.setText("查詢(xún)");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
?? ??? ?jPanel1.setLayout(jPanel1Layout);
?? ??? ?jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addGap(42, 42, 42).addComponent(jLabel1).addGap(36, 36, 36)
?? ??? ??? ??? ??? ??? ?.addComponent(bookNameText, GroupLayout.PREFERRED_SIZE, 130,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 149, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jButton1).addGap(45, 45, 45)));
?? ??? ?jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGap(23, 23, 23)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton1).addComponent(jLabel1).addComponent(bookNameText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addContainerGap(30, Short.MAX_VALUE)));
?? ??? ?jB_borrow.setText("借書(shū)");
?? ??? ?jB_borrow.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jB_borrowActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jLabel2.setText("編號(hào):");
?? ??? ?bookIdText.setEditable(false);
?? ??? ?jLabel3.setText("書(shū)名:");
?? ??? ?bookName.setEditable(false);
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(22, 22, 22)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ??? ??? ?.createSequentialGroup().addComponent(jLabel2)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ?.addComponent(bookIdText, GroupLayout.PREFERRED_SIZE, 95,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ?.addComponent(bookName, GroupLayout.PREFERRED_SIZE, 127,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 102, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jB_borrow).addGap(88, 88, 88))
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.Alignment.TRAILING,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, 507, Short.MAX_VALUE))
?? ??? ??? ??? ??? ??? ??? ??? ?.addContainerGap(38, Short.MAX_VALUE)))));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 225,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 35, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel2).addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookIdText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(bookName, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jB_borrow))
?? ??? ??? ??? ??? ??? ?.addGap(27, 27, 27)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void jB_borrowActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String bookId = this.bookIdText.getText();
?? ??? ?String bookName = this.bookName.getText();
?? ??? ?if (StringUtil.isEmpty(bookId) || StringUtil.isEmpty(bookName)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)選擇相關(guān)書(shū)籍");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?BorrowDetail borrowDetail = new BorrowDetail();
?? ??? ?borrowDetail.setUserId(LoginFrm.currentUser.getUserId());
?? ??? ?borrowDetail.setBookId(Integer.parseInt(bookId));
?? ??? ?borrowDetail.setStatus(1);
?? ??? ?borrowDetail.setBorrowTime(TimeUtil.getTime());
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?// 先查詢(xún)是否有該書(shū)在借
?? ??? ??? ?ResultSet list = borrowDetailDao.list(con, borrowDetail);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "該書(shū)已在借,請(qǐng)先還再借");
?? ??? ??? ??? ?return;
?? ??? ??? ?}
?? ??? ??? ?int i = borrowDetailDao.add(con, borrowDetail);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "借書(shū)成功");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "借書(shū)失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "借書(shū)異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void bookTableMousePressed(java.awt.event.MouseEvent evt) {
?? ??? ?int row = this.bookTable.getSelectedRow();
?? ??? ?Object bookId = this.bookTable.getValueAt(row, 0);
?? ??? ?Object bookName = this.bookTable.getValueAt(row, 1);
?? ??? ?this.bookIdText.setText(bookId.toString());
?? ??? ?this.bookName.setText(bookName.toString());
?? ?}
?? ?private void bookNameTextActionPerformed(java.awt.event.ActionEvent evt) {
?? ?}
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String bookName = this.bookNameText.getText();
?? ??? ?Book book = new Book();
?? ??? ?book.setBookName(bookName);
?? ??? ?fillTable(book);
?? ?}
}BookTypeAddFrm.java
package com.sjsq.view;
import java.sql.Connection;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.sjsq.dao.BookTypeDao;
import com.sjsq.model.BookType;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
public class BookTypeAddFrm extends JInternalFrame {
?? ?
?? ?private JButton jButton1;
?? ?private JButton jButton2;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JScrollPane jScrollPane1;
?? ?private JTextField typeNameText;
?? ?private JTextArea typeRemarkTtext;
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BookTypeDao bookTypeDao = new BookTypeDao();
?? ?
?? ?public BookTypeAddFrm() {
?? ??? ?initComponents();
?? ??? ?setTitle("圖書(shū)類(lèi)別添加");
?? ??? ?this.setLocation(200, 50);
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jLabel1 = new JLabel();
?? ??? ?jLabel2 = new JLabel();
?? ??? ?jButton1 = new JButton();
?? ??? ?typeNameText = new JTextField();
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?typeRemarkTtext = new JTextArea();
?? ??? ?jButton2 = new JButton();
?? ??? ?setClosable(true);
?? ??? ?jLabel1.setText("圖書(shū)類(lèi)別名稱(chēng):");
?? ??? ?jLabel2.setText("類(lèi)別說(shuō)明:");
?? ??? ?jButton1.setText("添加");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?typeRemarkTtext.setColumns(20);
?? ??? ?typeRemarkTtext.setRows(5);
?? ??? ?jScrollPane1.setViewportView(typeRemarkTtext);
?? ??? ?jButton2.setText("重置");
?? ??? ?jButton2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addGap(49, 49, 49)
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addComponent(jLabel2).addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addComponent(jLabel1).addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(typeNameText, GroupLayout.PREFERRED_SIZE, 241,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addComponent(jButton1).addGap(53, 53, 53)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton2)))
?? ??? ??? ??? ??? ??? ?.addGap(179, 179, 179)));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(35, 35, 35)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ?.addComponent(typeNameText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addGap(43, 43, 43)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(jLabel2)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 134,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addGap(41, 41, 41).addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ?.addComponent(jButton1).addComponent(jButton2))
?? ??? ??? ??? ?.addContainerGap(62, Short.MAX_VALUE)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String typeName = this.typeNameText.getText();
?? ??? ?String typeRemark = this.typeRemarkTtext.getText();
?? ??? ?if (StringUtil.isEmpty(typeName) || StringUtil.isEmpty(typeRemark)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)輸入相關(guān)信息");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?BookType bookType = new BookType();
?? ??? ?bookType.setTypeName(typeName);
?? ??? ?bookType.setRemark(typeRemark);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = bookTypeDao.add(con, bookType);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "添加成功");
?? ??? ??? ??? ?reset();
?? ??? ??? ?} else if (i == 2) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "添加失敗,類(lèi)別已存在");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "添加失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void reset() {
?? ??? ?this.typeNameText.setText("");
?? ??? ?this.typeRemarkTtext.setText("");
?? ?}
?? ?private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?reset();
?? ?}
}BookTypeManagerFrm.java
package com.sjsq.view;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.BookTypeDao;
import com.sjsq.model.BookType;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
public class BookTypeManagerFrm extends JInternalFrame {
?? ?
?? ?private JButton jButton1;
?? ?private JButton jButton2;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JLabel jLabel3;
?? ?private JPanel jPanel1;
?? ?private JScrollPane jScrollPane1;
?? ?private JTextField typeIdText;
?? ?private JTextField typeNameText;
?? ?private JTextField typeRemarkText;
?? ?private JTable typeTable;
?? ?
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BookTypeDao bookTypeDao = new BookTypeDao();
?? ?
?? ?public BookTypeManagerFrm() {
?? ??? ?initComponents();
?? ??? ?fillTable();
?? ??? ?setTitle("圖書(shū)類(lèi)別修改");
?? ??? ?this.setLocation(200, 30);
?? ?}
?? ?private void fillTable() {
?? ??? ?DefaultTableModel model = (DefaultTableModel) typeTable.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?ResultSet list = bookTypeDao.list(con, new BookType());
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(list.getInt("id"));
?? ??? ??? ??? ?rowData.add(list.getString("type_name"));
?? ??? ??? ??? ?rowData.add(list.getString("remark"));
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?typeTable = new JTable();
?? ??? ?jPanel1 = new JPanel();
?? ??? ?jLabel1 = new JLabel();
?? ??? ?jLabel2 = new JLabel();
?? ??? ?jLabel3 = new JLabel();
?? ??? ?typeIdText = new JTextField();
?? ??? ?typeNameText = new JTextField();
?? ??? ?typeRemarkText = new JTextField();
?? ??? ?jButton1 = new JButton();
?? ??? ?jButton2 = new JButton();
?? ??? ?setClosable(true);
?? ??? ?typeTable.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "編號(hào)", "類(lèi)別名稱(chēng)", "類(lèi)別描述" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?typeTable.addMouseListener(new java.awt.event.MouseAdapter() {
?? ??? ??? ?public void mousePressed(java.awt.event.MouseEvent evt) {
?? ??? ??? ??? ?typeTableMousePressed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(typeTable);
?? ??? ?jPanel1.setBorder(BorderFactory.createTitledBorder("表單操作"));
?? ??? ?jPanel1.setToolTipText("");
?? ??? ?jLabel1.setText("編號(hào):");
?? ??? ?jLabel2.setText("類(lèi)別名稱(chēng):");
?? ??? ?jLabel3.setText("描述:");
?? ??? ?typeIdText.setEditable(false);
?? ??? ?jButton1.setText("修改");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jButton2.setText("刪除");
?? ??? ?jButton2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
?? ??? ?jPanel1.setLayout(jPanel1Layout);
?? ??? ?jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGroup(jPanel1Layout
?? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGap(22, 22, 22).addGroup(jPanel1Layout
?? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel3).addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(typeRemarkText))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel1).addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(typeIdText, GroupLayout.PREFERRED_SIZE, 123,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton2)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel2)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18).addComponent(typeNameText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, 133,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))))))
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGap(41, 41, 41).addComponent(jButton1)))
?? ??? ??? ??? ??? ??? ?.addContainerGap(43, Short.MAX_VALUE)));
?? ??? ?jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGroup(jPanel1Layout
?? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel1).addComponent(jLabel2).addComponent(typeNameText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addComponent(typeIdText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addGap(27, 27, 27)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel3).addComponent(typeRemarkText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton1).addComponent(jButton2))
?? ??? ??? ??? ??? ??? ?.addContainerGap()));
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(42, 42, 42)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, 452, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addContainerGap(49, Short.MAX_VALUE)));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addContainerGap()
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 137,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addGap(51, 51, 51)
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addContainerGap(30, Short.MAX_VALUE)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String typeId = this.typeIdText.getText();
?? ??? ?if (StringUtil.isEmpty(typeId)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)選擇相關(guān)信息");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = bookTypeDao.delete(con, typeId);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "刪除成功");
?? ??? ??? ??? ?fillTable();
?? ??? ??? ?} else if (i == 2) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "刪除失敗-類(lèi)別最少保留一個(gè)");
?? ??? ??? ?} else if (i == 3) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "刪除失敗-該類(lèi)別下有書(shū)籍");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "刪除失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "刪除異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String typeId = this.typeIdText.getText();
?? ??? ?String typeName = this.typeNameText.getText();
?? ??? ?String typeRemark = this.typeRemarkText.getText();
?? ??? ?if (StringUtil.isEmpty(typeName) || StringUtil.isEmpty(typeRemark)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)輸入相關(guān)信息");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?BookType bookType = new BookType();
?? ??? ?bookType.setTypeId(Integer.parseInt(typeId));
?? ??? ?bookType.setTypeName(typeName);
?? ??? ?bookType.setRemark(typeRemark);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = bookTypeDao.update(con, bookType);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "修改成功");
?? ??? ??? ??? ?fillTable();
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "修改失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "修改異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void typeTableMousePressed(java.awt.event.MouseEvent evt) {
?? ??? ?int row = this.typeTable.getSelectedRow();
?? ??? ?this.typeIdText.setText(typeTable.getValueAt(row, 0).toString());
?? ??? ?this.typeNameText.setText(typeTable.getValueAt(row, 1).toString());
?? ??? ?this.typeRemarkText.setText(typeTable.getValueAt(row, 2).toString());
?? ?}
}BorrowDetailFrm.java
package com.sjsq.view;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.GroupLayout;
import javax.swing.JInternalFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.BorrowDetailDao;
import com.sjsq.model.BorrowDetail;
import com.sjsq.util.DbUtil;
import com.sjsq.util.TimeUtil;
public class BorrowDetailFrm extends JInternalFrame {
?? ?
?? ?private JTable detailTable;
?? ?private JScrollPane jScrollPane1;
?? ?
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BorrowDetailDao borrowDetailDao = new BorrowDetailDao();
?? ?
?? ?public BorrowDetailFrm() {
?? ??? ?initComponents();
?? ??? ?fillTable(new BorrowDetail());
?? ??? ?setTitle("借還信息");
?? ??? ?this.setLocation(200, 50);
?? ?}
?? ?private void fillTable(BorrowDetail borrowDetail) {
?? ??? ?DefaultTableModel model = (DefaultTableModel) detailTable.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?ResultSet list = borrowDetailDao.list(con, borrowDetail);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(list.getString("username"));
?? ??? ??? ??? ?rowData.add(list.getString("book_name"));
?? ??? ??? ??? ?int status = list.getInt("status");
?? ??? ??? ??? ?if (status == 1) {
?? ??? ??? ??? ??? ?rowData.add("在借");
?? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ?rowData.add("已還");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?rowData.add(TimeUtil.getDateByTime(list.getLong("borrow_time")));
?? ??? ??? ??? ?if (status == 2) {
?? ??? ??? ??? ??? ?rowData.add(TimeUtil.getDateByTime(list.getLong("return_time")));
?? ??? ??? ??? ?}
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?detailTable = new JTable();
?? ??? ?setClosable(true);
?? ??? ?detailTable.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "借書(shū)人", "書(shū)名", "狀態(tài)", "借書(shū)時(shí)間", "還書(shū)時(shí)間" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(detailTable);
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addContainerGap()
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addContainerGap()));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout
?? ??? ??? ??? ??? ??? ?.createSequentialGroup().addContainerGap().addComponent(jScrollPane1,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, 366, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addContainerGap(25, Short.MAX_VALUE)));
?? ??? ?pack();
?? ?}
?? ??? ?
}LoginFrm.java
package com.sjsq.view;
import java.sql.Connection;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.WindowConstants;
import com.sjsq.dao.UserDao;
import com.sjsq.model.User;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
public class LoginFrm extends JFrame {
?? ?public static User currentUser;
?? ?private JButton jB_login;
?? ?private JButton jB_reset;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JLabel jLabel3;
?? ?private JTextField passwordText;
?? ?private JComboBox role;
?? ?private JTextField userNameText;
?? ?
?? ?UserDao userDao = new UserDao();
?? ?DbUtil dbUtil = new DbUtil();
?? ?
?? ?public LoginFrm() {
?? ??? ?initComponents();
?? ??? ?this.role.addItem("學(xué)生");
?? ??? ?this.role.addItem("管理員");
?? ??? ?this.setLocationRelativeTo(null);
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jLabel1 = new JLabel();
?? ??? ?jLabel2 = new JLabel();
?? ??? ?jLabel3 = new JLabel();
?? ??? ?jB_login = new JButton();
?? ??? ?jB_reset = new JButton();
?? ??? ?userNameText = new JTextField();
?? ??? ?passwordText = new JTextField();
?? ??? ?role = new JComboBox();
?? ??? ?setTitle("用戶(hù)登錄");
?? ??? ?setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
?? ??? ?setResizable(false);
?? ??? ?jLabel1.setText("賬號(hào):");
?? ??? ?jLabel2.setText("密碼:");
?? ??? ?jLabel3.setText("角色:");
?? ??? ?jB_login.setText("登錄");
?? ??? ?jB_login.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jB_loginActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jB_reset.setText("重置");
?? ??? ?jB_reset.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jB_resetActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(59, 59, 59)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addComponent(jB_login).addGap(87, 87, 87)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jB_reset))
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel3).addComponent(jLabel2).addComponent(jLabel1))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(userNameText, GroupLayout.DEFAULT_SIZE, 150,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(passwordText)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(role, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
?? ??? ??? ??? ?.addContainerGap(137, Short.MAX_VALUE)));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(49, 49, 49)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ?.addComponent(userNameText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addGap(45, 45, 45)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(jLabel2)
?? ??? ??? ??? ??? ??? ?.addComponent(passwordText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addGap(33, 33, 33)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ?.addComponent(role, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 42, Short.MAX_VALUE)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jB_login)
?? ??? ??? ??? ??? ??? ?.addComponent(jB_reset))
?? ??? ??? ??? ?.addGap(37, 37, 37)));
?? ??? ?pack();
?? ?}
?? ?
?? ?private void jB_loginActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String userName = this.userNameText.getText();
?? ??? ?String password = this.passwordText.getText();
?? ??? ?int index = this.role.getSelectedIndex();
?? ??? ?if (StringUtil.isEmpty(userName) || StringUtil.isEmpty(password)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)輸入相關(guān)信息");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?User user = new User();
?? ??? ?user.setUserName(userName);
?? ??? ?user.setPassword(password);
?? ??? ?if (index == 0) {
?? ??? ??? ?user.setRole(1);
?? ??? ?} else {
?? ??? ??? ?user.setRole(2);
?? ??? ?}
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?User login = userDao.login(con, user);
?? ??? ??? ?currentUser = login;
?? ??? ??? ?if (login == null) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "登錄失敗");
?? ??? ??? ?} else {
?? ??? ??? ??? ?// 角色 1普通 2管理員
?? ??? ??? ??? ?if (index == 0) {
?? ??? ??? ??? ??? ?// 學(xué)生
?? ??? ??? ??? ??? ?this.dispose();
?? ??? ??? ??? ??? ?new UserMainFrm().setVisible(true);
?? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ?// 管理員
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?this.dispose();
?? ??? ??? ??? ??? ?new AdminMainFrm().setVisible(true);
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "登錄異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void reset() {
?? ??? ?this.userNameText.setText("");
?? ??? ?this.passwordText.setText("");
?? ?}
?? ?private void jB_resetActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?reset();
?? ?}
?? ?public static void main(String args[]) {
?? ??? ?java.awt.EventQueue.invokeLater(new Runnable() {
?? ??? ??? ?public void run() {
?? ??? ??? ??? ?new LoginFrm().setVisible(true);
?? ??? ??? ?}
?? ??? ?});
?? ?}
}RegisterFrm.java
package com.sjsq.view;
import java.sql.Connection;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.WindowConstants;
import com.sjsq.dao.UserDao;
import com.sjsq.model.User;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
public class RegisterFrm extends JFrame {
?? ?
?? ?private JButton jButton1;
?? ?private JButton jButton2;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JTextField passwordText;
?? ?private JTextField userNameText;
?? ?
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?UserDao userDao = new UserDao();
?? ?
?? ?public RegisterFrm() {
?? ??? ?initComponents();
?? ??? ?this.setLocationRelativeTo(null);
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jLabel1 = new JLabel();
?? ??? ?jLabel2 = new JLabel();
?? ??? ?jButton1 = new JButton();
?? ??? ?jButton2 = new JButton();
?? ??? ?userNameText = new JTextField();
?? ??? ?passwordText = new JTextField();
?? ??? ?setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
?? ??? ?setTitle("用戶(hù)注冊(cè)");
?? ??? ?setResizable(false);
?? ??? ?jLabel1.setText("賬號(hào):");
?? ??? ?jLabel2.setText("密碼:");
?? ??? ?jButton1.setText("注冊(cè)");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jButton2.setText("重置");
?? ??? ?jButton2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(60, 60, 60)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addComponent(jButton1).addGap(77, 77, 77)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton2))
?? ??? ??? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel1).addComponent(jLabel2))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGap(37, 37, 37)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(passwordText).addComponent(userNameText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE))))
?? ??? ??? ??? ?.addContainerGap(123, Short.MAX_VALUE)));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(49, 49, 49)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ?.addComponent(userNameText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addGap(48, 48, 48)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel2)
?? ??? ??? ??? ??? ??? ?.addComponent(passwordText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 68, Short.MAX_VALUE)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jButton1)
?? ??? ??? ??? ??? ??? ?.addComponent(jButton2))
?? ??? ??? ??? ?.addGap(64, 64, 64)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String userName = this.userNameText.getText();
?? ??? ?String password = this.passwordText.getText();
?? ??? ?if (StringUtil.isEmpty(userName) || StringUtil.isEmpty(password)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)輸入相關(guān)信息");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?User user = new User();
?? ??? ?user.setUserName(userName);
?? ??? ?user.setPassword(password);
?? ??? ?user.setRole(1);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = userDao.addUser(con, user);
?? ??? ??? ?if (i == 2) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "該用戶(hù)名已存在,請(qǐng)重新注冊(cè)");
?? ??? ??? ?} else if (i == 0) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "注冊(cè)失敗");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "注冊(cè)成功");
?? ??? ??? ??? ?this.dispose();
?? ??? ??? ??? ?new LoginFrm().setVisible(true);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void reset() {
?? ??? ?this.userNameText.setText("");
?? ??? ?this.passwordText.setText("");
?? ?}
?? ?private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?reset();
?? ?}
?? ?public static void main(String args[]) {
?? ??? ?java.awt.EventQueue.invokeLater(new Runnable() {
?? ??? ??? ?public void run() {
?? ??? ??? ??? ?new RegisterFrm().setVisible(true);
?? ??? ??? ?}
?? ??? ?});
?? ?}
}UserBorrowDetail.java
package com.sjsq.view;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.BorrowDetailDao;
import com.sjsq.model.BorrowDetail;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
import com.sjsq.util.TimeUtil;
public class UserBorrowDetail extends JInternalFrame {
?? ?
?? ?private JTextField borrowIdText;
?? ?private JTable borrowTbale;
?? ?private JButton jB_return;
?? ?private JLabel jLabel1;
?? ?private JScrollPane jScrollPane1;
?? ?
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?BorrowDetailDao borrowDetailDao = new BorrowDetailDao();
?? ?
?? ?public UserBorrowDetail() {
?? ??? ?initComponents();
?? ??? ?fillTable(new BorrowDetail());
?? ??? ?this.jB_return.setVisible(false);
?? ??? ?setTitle("借還信息");
?? ??? ?this.setLocation(200, 50);
?? ?}
?? ?private void fillTable(BorrowDetail borrowDetail) {
?? ??? ?DefaultTableModel model = (DefaultTableModel) borrowTbale.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Integer userId = LoginFrm.currentUser.getUserId();
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?borrowDetail.setUserId(userId);
?? ??? ??? ?ResultSet list = borrowDetailDao.list(con, borrowDetail);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(list.getInt("id"));
?? ??? ??? ??? ?rowData.add(list.getString("book_name"));
?? ??? ??? ??? ?int status = list.getInt("status");
?? ??? ??? ??? ?if (status == 1) {
?? ??? ??? ??? ??? ?rowData.add("在借");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if (status == 2) {
?? ??? ??? ??? ??? ?rowData.add("已還");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?rowData.add(TimeUtil.getDateByTime(list.getLong("borrow_time")));
?? ??? ??? ??? ?if (status == 2) {
?? ??? ??? ??? ??? ?rowData.add(TimeUtil.getDateByTime(list.getLong("return_time")));
?? ??? ??? ??? ?}
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?borrowTbale = new JTable();
?? ??? ?jLabel1 = new JLabel();
?? ??? ?borrowIdText = new JTextField();
?? ??? ?jB_return = new JButton();
?? ??? ?setClosable(true);
?? ??? ?borrowTbale.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "編號(hào)", "書(shū)名", "狀態(tài)", "借書(shū)時(shí)間", "還書(shū)時(shí)間" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?borrowTbale.addMouseListener(new java.awt.event.MouseAdapter() {
?? ??? ??? ?public void mousePressed(java.awt.event.MouseEvent evt) {
?? ??? ??? ??? ?borrowTbaleMousePressed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(borrowTbale);
?? ??? ?jLabel1.setText("編號(hào):");
?? ??? ?borrowIdText.setEditable(false);
?? ??? ?jB_return.setText("還書(shū)");
?? ??? ?jB_return.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jB_returnActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addGap(35, 35, 35).addComponent(jLabel1).addGap(38, 38, 38)
?? ??? ??? ??? ??? ??? ?.addComponent(borrowIdText, GroupLayout.PREFERRED_SIZE, 114,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 282, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jB_return).addGap(44, 44, 44))
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup().addContainerGap()
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addContainerGap()));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup()
?? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 239,
?? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ?.addComponent(borrowIdText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addComponent(jB_return))
?? ??? ??? ??? ?.addContainerGap(26, Short.MAX_VALUE)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void jB_returnActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String BorrowStr = this.borrowIdText.getText();
?? ??? ?if (StringUtil.isEmpty(BorrowStr)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)選擇未還的書(shū)籍");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?BorrowDetail detail = new BorrowDetail();
?? ??? ?detail.setBorrowId(Integer.parseInt(BorrowStr));
?? ??? ?detail.setStatus(2);
?? ??? ?detail.setReturnTime(TimeUtil.getTime());
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = borrowDetailDao.returnBook(con, detail);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "還書(shū)成功");
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "還書(shū)失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "還書(shū)異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ??? ?fillTable(new BorrowDetail());
?? ?}
?? ?private void borrowTbaleMousePressed(java.awt.event.MouseEvent evt) {
?? ??? ?int row = borrowTbale.getSelectedRow();
?? ??? ?Integer borrowId = (Integer) borrowTbale.getValueAt(row, 0);
?? ??? ?String status = (String) borrowTbale.getValueAt(row, 2);
?? ??? ?this.borrowIdText.setText(borrowId.toString());
?? ??? ?if (status.equals("在借")) {
?? ??? ??? ?this.jB_return.setVisible(true);
?? ??? ?} else {
?? ??? ??? ?this.jB_return.setVisible(false);
?? ??? ?}
?? ?}
}UserInfoFrm.java
package com.sjsq.view;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.table.DefaultTableModel;
import com.sjsq.dao.UserDao;
import com.sjsq.model.User;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;
public class UserInfoFrm extends JInternalFrame {
?? ?
?? ?private JButton jButton1;
?? ?private JButton jButton2;
?? ?private JLabel jLabel1;
?? ?private JLabel jLabel2;
?? ?private JLabel jLabel3;
?? ?private JLabel jLabel4;
?? ?private JLabel jLabel5;
?? ?private JPanel jPanel1;
?? ?private JPanel jPanel2;
?? ?private JScrollPane jScrollPane1;
?? ?private JTextField passwordText;
?? ?private JTextField userIdText;
?? ?private JTextField userNameText;
?? ?private JTextField userNaneSelectText;
?? ?private JTable userTable;
?? ?
?? ?
?? ?DbUtil dbUtil = new DbUtil();
?? ?UserDao userDao = new UserDao();
?? ?
?? ?public UserInfoFrm() {
?? ??? ?initComponents();
?? ??? ?fillTable(new User());
?? ??? ?setTitle("用戶(hù)信息");
?? ??? ?this.setLocation(200, 50);
?? ?}
?? ?private void fillTable(User user) {
?? ??? ?DefaultTableModel model = (DefaultTableModel) userTable.getModel();
?? ??? ?model.setRowCount(0);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?ResultSet list = userDao.list(con, user);
?? ??? ??? ?while (list.next()) {
?? ??? ??? ??? ?Vector rowData = new Vector();
?? ??? ??? ??? ?rowData.add(list.getInt("id"));
?? ??? ??? ??? ?rowData.add(list.getString("username"));
?? ??? ??? ??? ?rowData.add(list.getString("password"));
?? ??? ??? ??? ?model.addRow(rowData);
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?private void initComponents() {
?? ??? ?jLabel2 = new JLabel();
?? ??? ?jScrollPane1 = new JScrollPane();
?? ??? ?userTable = new JTable();
?? ??? ?jPanel1 = new JPanel();
?? ??? ?jLabel1 = new JLabel();
?? ??? ?jButton1 = new JButton();
?? ??? ?userNaneSelectText = new JTextField();
?? ??? ?jPanel2 = new JPanel();
?? ??? ?jLabel3 = new JLabel();
?? ??? ?userIdText = new JTextField();
?? ??? ?jLabel4 = new JLabel();
?? ??? ?userNameText = new JTextField();
?? ??? ?jLabel5 = new JLabel();
?? ??? ?passwordText = new JTextField();
?? ??? ?jButton2 = new JButton();
?? ??? ?jLabel2.setText("jLabel2");
?? ??? ?setClosable(true);
?? ??? ?userTable.setModel(new DefaultTableModel(new Object[][] {
?? ??? ?}, new String[] { "編號(hào)", "賬號(hào)", "密碼" }) {
?? ??? ??? ?boolean[] canEdit = new boolean[] { false, false, false };
?? ??? ??? ?public boolean isCellEditable(int rowIndex, int columnIndex) {
?? ??? ??? ??? ?return canEdit[columnIndex];
?? ??? ??? ?}
?? ??? ?});
?? ??? ?userTable.addMouseListener(new java.awt.event.MouseAdapter() {
?? ??? ??? ?public void mousePressed(java.awt.event.MouseEvent evt) {
?? ??? ??? ??? ?userTableMousePressed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jScrollPane1.setViewportView(userTable);
?? ??? ?jPanel1.setBorder(BorderFactory.createTitledBorder("表單操作"));
?? ??? ?jLabel1.setText("賬號(hào):");
?? ??? ?jButton1.setText("查詢(xún)");
?? ??? ?jButton1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
?? ??? ?jPanel1.setLayout(jPanel1Layout);
?? ??? ?jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(jLabel1)
?? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18)
?? ??? ??? ??? ??? ??? ?.addComponent(userNaneSelectText, GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18).addComponent(jButton1).addContainerGap()));
?? ??? ?jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel1Layout.createSequentialGroup().addGroup(jPanel1Layout
?? ??? ??? ??? ??? ??? ?.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel1).addComponent(userNaneSelectText,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addComponent(jButton1))
?? ??? ??? ??? ??? ??? ?.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
?? ??? ?jPanel2.setBorder(BorderFactory.createTitledBorder("用戶(hù)操作"));
?? ??? ?jLabel3.setText("編號(hào):");
?? ??? ?userIdText.setEditable(false);
?? ??? ?jLabel4.setText("賬號(hào):");
?? ??? ?jLabel5.setText("密碼:");
?? ??? ?jButton2.setText("修改");
?? ??? ?jButton2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jButton2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
?? ??? ?jPanel2.setLayout(jPanel2Layout);
?? ??? ?jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel3)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(userIdText, GroupLayout.PREFERRED_SIZE, 85,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addGap(18, 18, 18).addComponent(jLabel4))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel5)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(passwordText, GroupLayout.PREFERRED_SIZE, 88,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)))
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addGap(37, 37, 37).addComponent(
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?userNameText, GroupLayout.PREFERRED_SIZE, 94,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup().addGap(8, 8, 8).addComponent(jButton2)))
?? ??? ??? ??? ??? ??? ?.addContainerGap(26, Short.MAX_VALUE)));
?? ??? ?jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(jPanel2Layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel3).addComponent(jLabel4)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(userIdText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(userNameText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
?? ??? ??? ??? ??? ??? ?.addGap(29, 29, 29)
?? ??? ??? ??? ??? ??? ?.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jLabel5)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(passwordText, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ??? ??? ?.addComponent(jButton2))
?? ??? ??? ??? ??? ??? ?.addContainerGap(37, Short.MAX_VALUE)));
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout
?? ??? ??? ??? ?.createSequentialGroup().addGap(24, 24, 24)
?? ??? ??? ??? ?.addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel2, GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.Alignment.LEADING, 0, 0, Short.MAX_VALUE)
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.Alignment.LEADING,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?Short.MAX_VALUE))
?? ??? ??? ??? ?.addGap(226, 226, 226)));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
?? ??? ??? ??? ?.addGroup(layout.createSequentialGroup()
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addGap(28, 28, 28)
?? ??? ??? ??? ??? ??? ?.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 136,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
?? ??? ??? ??? ??? ??? ?.addComponent(jPanel2, GroupLayout.PREFERRED_SIZE,
?? ??? ??? ??? ??? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
?? ??? ??? ??? ??? ??? ?.addContainerGap(16, Short.MAX_VALUE)));
?? ??? ?pack();
?? ?}
?? ??? ?
?? ?private void userTableMousePressed(java.awt.event.MouseEvent evt) {
?? ??? ?int row = this.userTable.getSelectedRow();
?? ??? ?this.userIdText.setText(userTable.getValueAt(row, 0).toString());
?? ??? ?this.userNameText.setText(userTable.getValueAt(row, 1).toString());
?? ??? ?this.passwordText.setText(userTable.getValueAt(row, 2).toString());
?? ?}
?? ?private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String userId = this.userIdText.getText();
?? ??? ?String userName = this.userNameText.getText();
?? ??? ?String password = this.passwordText.getText();
?? ??? ?if (StringUtil.isEmpty(userName) || StringUtil.isEmpty(password)) {
?? ??? ??? ?JOptionPane.showMessageDialog(null, "請(qǐng)輸入相關(guān)信息");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?User user = new User();
?? ??? ?user.setUserId(Integer.parseInt(userId));
?? ??? ?user.setUserName(userName);
?? ??? ?user.setPassword(password);
?? ??? ?Connection con = null;
?? ??? ?try {
?? ??? ??? ?con = dbUtil.getCon();
?? ??? ??? ?int i = userDao.update(con, user);
?? ??? ??? ?if (i == 1) {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "修改成功");
?? ??? ??? ??? ?fillTable(new User());
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(null, "修改失敗");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?JOptionPane.showMessageDialog(null, "修改異常");
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?String userName = this.userNaneSelectText.getText();
?? ??? ?User user = new User();
?? ??? ?user.setUserName(userName);
?? ??? ?fillTable(user);
?? ?}
}UserMainFrm.java
package com.sjsq.view;
import javax.swing.GroupLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
public class UserMainFrm extends JFrame {
?? ?private JMenu jMenu1;
?? ?private JMenuBar jMenuBar1;
?? ?private JMenuItem jMenuItem1;
?? ?private JMenuItem jMenuItem2;
?? ?private JMenuItem jMenuItem3;
?? ?private JDesktopPane userMainjdp;
?? ?public UserMainFrm() {
?? ??? ?initComponents();
?? ??? ?// 設(shè)置位置
?? ??? ?setBounds(100, 200, 1050, 650);
?? ??? ?// 居中顯示
?? ??? ?this.setLocationRelativeTo(null);
?? ?}
?? ?private void initComponents() {
?? ??? ?userMainjdp = new JDesktopPane();
?? ??? ?jMenuBar1 = new JMenuBar();
?? ??? ?jMenu1 = new JMenu();
?? ??? ?jMenuItem1 = new JMenuItem();
?? ??? ?jMenuItem2 = new JMenuItem();
?? ??? ?jMenuItem3 = new JMenuItem();
?? ??? ?setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
?? ??? ?setTitle("圖書(shū)者主界面");
?? ??? ?
?? ??? ?jMenu1.setText("基本信息");
?? ??? ?jMenuItem1.setText("書(shū)籍信息");
?? ??? ?jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem1ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu1.add(jMenuItem1);
?? ??? ?jMenuItem2.setText("借書(shū)記錄");
?? ??? ?jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem2ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu1.add(jMenuItem2);
?? ??? ?jMenuItem3.setText("退出系統(tǒng)");
?? ??? ?jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
?? ??? ??? ?public void actionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ??? ??? ?jMenuItem3ActionPerformed(evt);
?? ??? ??? ?}
?? ??? ?});
?? ??? ?jMenu1.add(jMenuItem3);
?? ??? ?jMenuBar1.add(jMenu1);
?? ??? ?setJMenuBar(jMenuBar1);
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(userMainjdp,
?? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE));
?? ??? ?layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(userMainjdp,
?? ??? ??? ??? ?GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE));
?? ??? ?pack();
?? ?}
?? ?private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?int i = JOptionPane.showConfirmDialog(null, "確認(rèn)退出系統(tǒng)");
?? ??? ?if (i == 0) {
?? ??? ??? ?this.dispose();
?? ??? ?}
?? ?}
?? ?private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?UserBorrowDetail userBorrowDetail = new UserBorrowDetail();
?? ??? ?userBorrowDetail.setVisible(true);
?? ??? ?this.userMainjdp.add(userBorrowDetail);
?? ?}
?? ?private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
?? ??? ?BookInfoFrm infoFrm = new BookInfoFrm();
?? ??? ?infoFrm.setVisible(true);
?? ??? ?this.userMainjdp.add(infoFrm);
?? ?}
?? ?public static void main(String args[]) {
?? ??? ?java.awt.EventQueue.invokeLater(new Runnable() {
?? ??? ??? ?public void run() {
?? ??? ??? ??? ?new UserMainFrm().setVisible(true);
?? ??? ??? ?}
?? ??? ?});
?? ?}
}UserManagerFrm.java
package com.sjsq.view;
import javax.swing.GroupLayout;
import javax.swing.JInternalFrame;
public class UserManagerFrm extends JInternalFrame {
?? ?public UserManagerFrm() {
?? ??? ?initComponents();
?? ?}
?? ?private void initComponents() {
?? ??? ?setClosable(true);
?? ??? ?GroupLayout layout = new GroupLayout(getContentPane());
?? ??? ?getContentPane().setLayout(layout);
?? ??? ?layout.setHorizontalGroup(
?? ??? ??? ??? ?layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGap(0, 394, Short.MAX_VALUE));
?? ??? ?layout.setVerticalGroup(
?? ??? ??? ??? ?layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGap(0, 278, Short.MAX_VALUE));
?? ??? ?pack();
?? ?}
}
相關(guān)文章
使用注解@Validated和BindingResult對(duì)入?yún)⑦M(jìn)行非空校驗(yàn)方式
這篇文章主要介紹了使用注解@Validated和BindingResult對(duì)入?yún)⑦M(jìn)行非空校驗(yàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
java實(shí)現(xiàn)excel導(dǎo)出合并單元格的步驟詳解
這篇文章主要介紹了java實(shí)現(xiàn)excel導(dǎo)出合并單元格,通過(guò)使用Apache POI庫(kù),我們可以方便地創(chuàng)建Excel文件、填充數(shù)據(jù)、合并單元格和導(dǎo)出Excel文件,需要的朋友可以參考下2023-04-04
使用AOP+反射實(shí)現(xiàn)自定義Mybatis多表關(guān)聯(lián)查詢(xún)
這篇文章主要介紹了使用AOP+反射實(shí)現(xiàn)自定義Mybatis多表關(guān)聯(lián),目前的需求是增強(qiáng)現(xiàn)有的查詢(xún),使用簡(jiǎn)單的注解即可實(shí)現(xiàn)多表關(guān)聯(lián),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
IDEA maven依賴(lài)錯(cuò)誤中包下面紅色波浪線(xiàn)
這篇文章主要介紹了IDEA maven依賴(lài)錯(cuò)誤中包下面紅色波浪線(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
RepeatSubmit若依框架如何防止表單重復(fù)提交注解
若依框架中的@RepeatSubmit注解用于防止表單重復(fù)提交,通過(guò)在控制器方法上添加該注解,并在前端頁(yè)面和JavaScript代碼中實(shí)現(xiàn)雙重校驗(yàn),可以確保同一用戶(hù)在短時(shí)間內(nèi)不會(huì)重復(fù)提交相同的表單2024-11-11
詳解Spring-Boot中如何使用多線(xiàn)程處理任務(wù)
本篇文章主要介紹了詳解Spring-Boot中如何使用多線(xiàn)程處理任務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03

