Eclipse+Java+Swing实现图书管理系统(详细代码)
这篇文章主要介绍了Eclipse+Java+Swing实现图书管理系统并附上详细代码,需要的小伙伴可以参考一下,希望对你有所帮助
目录
一、系统介绍
二、系统展示
1.注册
2.登录
5.管理员端-添加图书类别
6.管理员端-修改图书类别
7.管理员端-添加图书
8.管理员端-修改图书
9.管理员端-管理用户信息
10.管理员端-查询借阅信息
三、部分代码
AdminMainFrm.java
BookAddFrm.java
BookManagerFrm.java
BookInfoFrm.java
BookTypeAddFrm.java
BookTypeManagerFrm.java
BorrowDetailFrm.java
LoginFrm.java
RegisterFrm.java
UserBorrowDetail.java
UserInfoFrm.java
UserMainFrm.java
UserManagerFrm.java
一、系统介绍
该系统实现用户注册登录功能。用户端实现书籍查询,借书,还书功能。用户能够查询自己的借书记录。管理员能够上架图书,下架图书,添加图书类别,修改图书类别,删除图书类别,添加图书信息,修改图书信息,修改用户信息,查询图书借阅归还记录。
二、系统展示
1.注册
2.登录
3.用户端-图书查询及借阅
4.用户端-借阅记录及归还
5.管理员端-添加图书类别
6.管理员端-修改图书类别
7.管理员端-添加图书
8.管理员端-修改图书
9.管理员端-管理用户信息
10.管理员端-查询借阅信息
三、部分代码
基本类什么的就不列出来了,直接上页面。
AdminMainFrm.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | 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(); // 设置位置 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( "基本数据管理" ); jMenu2.setText( "类别管理" ); jMenu2.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenu2ActionPerformed(evt); } private void jMenu2ActionPerformed(ActionEvent evt) { } }); jMenuItem1.setText( "图书类别添加" ); jMenuItem1.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); jMenu2.add(jMenuItem1); jMenuItem2.setText( "图书类别修改" ); 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( "书籍管理" ); jMenuItem4.setText( "书籍添加" ); jMenuItem4.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem4ActionPerformed(evt); } }); jMenu3.add(jMenuItem4); jMenuItem5.setText( "书籍修改" ); 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( "用户管理" ); jMenuItem6.setText( "用户信息" ); 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( "退出系统" ); 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); } // 用户信息 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 , "确认退出系统" ); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | 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( "书籍信息" ); 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[] { "编号" , "书名" , "类型" , "作者" , "描述" }) { 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( "书籍名称:" ); bookNameText.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bookNameTextActionPerformed(evt); } }); jButton1.setText( "查询" ); 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( "借书" ); jB_borrow.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jB_borrowActionPerformed(evt); } }); jLabel2.setText( "编号:" ); bookIdText.setEditable( false ); jLabel3.setText( "书名:" ); 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 , "请选择相关书籍" ); 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(); // 先查询是否有该书在借 ResultSet list = borrowDetailDao.list(con, borrowDetail); while (list.next()) { JOptionPane.showMessageDialog( null , "该书已在借,请先还再借" ); return ; } int i = borrowDetailDao.add(con, borrowDetail); 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(); } } } 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 | 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( "书籍修改" ); 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( "查询操作" )); jLabel1.setText( "书名:" ); jButton1.setText( "查询" ); 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[] { "编号" , "书名" , "类别" , "作者" , "价格" , "库存" , "状态" }) { 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( "书籍操作" )); jLabel3.setText( "编号:" ); bookId.setEditable( false ); jLabel4.setText( "书名:" ); jLabel5.setText( "作者:" ); jLabel6.setText( "出版:" ); jLabel7.setText( "价格:" ); jLabel8.setText( "库存:" ); jLabel9.setText( "状态:" ); jLabel10.setText( "类别:" ); 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 , "请输入相关内容" ); 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 , "参数错误" ); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | 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( "书籍信息" ); 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[] { "编号" , "书名" , "类型" , "作者" , "描述" }) { 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( "书籍名称:" ); bookNameText.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bookNameTextActionPerformed(evt); } }); jButton1.setText( "查询" ); 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( "借书" ); jB_borrow.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jB_borrowActionPerformed(evt); } }); jLabel2.setText( "编号:" ); bookIdText.setEditable( false ); jLabel3.setText( "书名:" ); 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 , "请选择相关书籍" ); 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(); // 先查询是否有该书在借 ResultSet list = borrowDetailDao.list(con, borrowDetail); while (list.next()) { JOptionPane.showMessageDialog( null , "该书已在借,请先还再借" ); return ; } int i = borrowDetailDao.add(con, borrowDetail); 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(); } } } 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | 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( "图书类别添加" ); 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( "图书类别名称:" ); jLabel2.setText( "类别说明:" ); 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 , "请输入相关信息" ); 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 , "添加失败,类别已存在" ); } 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | 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( "图书类别修改" ); 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[] { "编号" , "类别名称" , "类别描述" }) { 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( "编号:" ); jLabel2.setText( "类别名称:" ); 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 , "请选择相关信息" ); 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 , "删除失败-类别最少保留一个" ); } else if (i == 3 ) { 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(); } } } 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 , "请输入相关信息" ); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | 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[] { "借书人" , "书名" , "状态" , "借书时间" , "还书时间" }) { 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | 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( "学生" ); 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( "用户登录" ); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setResizable( false ); jLabel1.setText( "账号:" ); 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 , "请输入相关信息" ); 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 ) { // 学生 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | 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( "用户注册" ); setResizable( false ); jLabel1.setText( "账号:" ); jLabel2.setText( "密码:" ); 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 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 , "请输入相关信息" ); 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 , "该用户名已存在,请重新注册" ); } else if (i == 0 ) { JOptionPane.showMessageDialog( null , "注册失败" ); } else { JOptionPane.showMessageDialog( null , "注册成功" ); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | 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[] { "编号" , "书名" , "状态" , "借书时间" , "还书时间" }) { 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( "编号:" ); borrowIdText.setEditable( false ); jB_return.setText( "还书" ); 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 , "请选择未还的书籍" ); 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 , "还书成功" ); } else { JOptionPane.showMessageDialog( null , "还书失败" ); } } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog( null , "还书异常" ); } 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | 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( "用户信息" ); 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[] { "编号" , "账号" , "密码" }) { 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( "账号:" ); jButton1.setText( "查询" ); 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( "用户操作" )); jLabel3.setText( "编号:" ); userIdText.setEditable( false ); jLabel4.setText( "账号:" ); 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 , "请输入相关信息" ); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | 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(); // 设置位置 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( "图书者主界面" ); jMenu1.setText( "基本信息" ); jMenuItem1.setText( "书籍信息" ); jMenuItem1.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); jMenu1.add(jMenuItem1); jMenuItem2.setText( "借书记录" ); jMenuItem2.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem2ActionPerformed(evt); } }); jMenu1.add(jMenuItem2); jMenuItem3.setText( "退出系统" ); 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 , "确认退出系统" ); 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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(); } } |
原文链接:https://blog.csdn.net/helongqiang/article/details/108689704