亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bookbackiframe.java

?? 圖書管理系統java+swing+SQL Server實現 包含了圖書管理系統的所有功能 純JAVA實現
?? JAVA
字號:
package com.lishan.iframe;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.SimpleDateFormat;
import java.util.List;

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.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.Timer;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;

import com.lishan.JComPz.MapPz;
import com.lishan.dao.Dao;
import com.lishan.model.Back;
import com.lishan.model.BookType;
import com.lishan.model.Operater;
import com.lishan.util.MyDocument;

public class BookBackIFrame extends JInternalFrame {// 還書控制面板
	private Operater user = BookLoginIFrame.getUser();
	private JTable table, tableByBookISBN; // 用來顯示和編輯規則的二維單元表
	private JTextField operator; // 輸入操作人員
	private JTextField todaydate; // 輸入歸還日期
	private JTextField fkmoney; // 罰款金額
	private JTextField ccdays; // 超出天數
	private JTextField realdays; // 實際天數
	private JTextField borrowdays; // 可以借閱天數
	private JTextField borrowDate; // 結束日期
	private JTextField readerISBN; // 讀者條形碼
	private String[] columnNames = { "圖書名稱", "圖書條形碼", "圖書類別", "讀者姓名", "讀者條形碼",
			"借書時間", "歸還時間", "ID" };
	DefaultTableModel model = new DefaultTableModel();// 默認的表類型
	DefaultTableModel modelBook = new DefaultTableModel();
	SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
	private String bookISBNs = null;
	private String readerISBNs = null;
	private JTextField bookISBN;
	private int id;

	public final void add() { // 添加指定讀者借書信息到表格中
		readerISBNs = readerISBN.getText().trim();
		if (!"".equals(bookISBN.getText().trim())) {
			List list = Dao.selectBookBackByBookISBN(bookISBN.getText()
					.toString().trim());
			for (int i = 0; i < list.size(); i++) {
				Back back = (Back) list.get(i);
				String str[] = new String[8];
				str[0] = back.getBookName();
				str[1] = back.getBookISBN();
				str[2] = String.valueOf(MapPz.getMap().get(
						back.getTypeId() + ""));
				str[3] = back.getReaderName();
				str[4] = back.getReaderISBN();
				str[5] = back.getBorrowDate();
				str[6] = back.getBackDate();
				str[7] = back.getId() + "";
				modelBook.addRow(str);
			}
		} else if (!"".equals(readerISBNs)) {
			List list = Dao.selectBookBack(readerISBNs);
			if (list.size() == 0) {
				JOptionPane.showMessageDialog(null, "編號為" + readerISBNs
						+ "的讀者,沒有借書記錄");
				return;
			}
			for (int i = 0; i < list.size(); i++) {
				Back back = (Back) list.get(i);
				// id = back.getId();
				String str[] = new String[8];
				str[0] = back.getBookName();
				str[1] = back.getBookISBN();
				str[2] = String.valueOf(MapPz.getMap().get(
						back.getTypeId() + ""));
				str[3] = back.getReaderName();
				str[4] = back.getReaderISBN();
				str[5] = back.getBorrowDate();
				str[6] = back.getBackDate();
				str[7] = back.getId() + "";
				model.addRow(str);
			}
		}
	}

	/**
	 * Create the frame
	 */
	public BookBackIFrame() {
		super();
		setIconifiable(true); // 設置窗體可最小化---必須
		setClosable(true); // 設置窗體可關閉---必須
		setTitle("圖書歸還管理");
		setBounds(100, 100, 550, 480);

		final JTabbedPane tabbedPane = new JTabbedPane();
		tabbedPane.setPreferredSize(new Dimension(0, 60));
		getContentPane().add(tabbedPane);

		final JPanel panel_totle1 = new JPanel();
		panel_totle1.setLayout(new BorderLayout());
		tabbedPane.addTab("輸入學生編號", null, panel_totle1, null);

		final JPanel panel = new JPanel();
		// 在指定位置以指定對齊方式顯示字符串標題的邊框
		panel.setBorder(new TitledBorder(null, "基本信息",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel.setPreferredSize(new Dimension(0, 200));
		panel_totle1.add(panel, BorderLayout.NORTH);

		final JPanel panel_5 = new JPanel();
		final GridLayout gridLayout_1 = new GridLayout(0, 2);
		gridLayout_1.setVgap(5); // 設置垂直間隙
		panel_5.setLayout(gridLayout_1);
		panel_5.setPreferredSize(new Dimension(400, 20));
		panel.add(panel_5);

		final JLabel label_4 = new JLabel();
		label_4.setText("讀者編號:");
		panel_5.add(label_4);

		readerISBN = new JTextField();
		readerISBN.setDocument(new MyDocument(13));
		readerISBN.addKeyListener(new readerISBNListenerlostFocus()); // 注冊鍵盤對象監聽事件
		panel_5.add(readerISBN);

		final JPanel panel_4 = new JPanel();
		panel_4.setLayout(new FlowLayout());
		panel_4.setPreferredSize(new Dimension(450, 130));
		panel.add(panel_4);

		final JScrollPane scrollPane = new JScrollPane();
		scrollPane.setPreferredSize(new Dimension(450, 120));
		panel_4.add(scrollPane);

		table = new JTable();
		scrollPane.setViewportView(table);
		model.setColumnIdentifiers(columnNames);
		table.setModel(model);
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		table.addMouseListener(new TableListener()); // 注冊鼠標對象監聽事件

		final JPanel panel_1 = new JPanel();
		panel_1.setLayout(new BorderLayout());
		panel_totle1.add(panel_1);

		final JPanel panel_2 = new JPanel();
		final GridLayout gridLayout_2 = new GridLayout(0, 2);
		gridLayout_2.setVgap(20);
		panel_2.setLayout(gridLayout_2);
		panel_2.setBorder(new TitledBorder(null, "罰款信息",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel_2.setPreferredSize(new Dimension(250, 230));
		panel_1.add(panel_2, BorderLayout.WEST);

		final JLabel label_11 = new JLabel("借書日期:");
		panel_2.add(label_11);

		borrowDate = new JTextField();
		borrowDate.setEditable(false);// 設置為不可編輯的

		panel_2.add(borrowDate);

		final JLabel label_12 = new JLabel("規定天數:");
		panel_2.add(label_12);

		borrowdays = new JTextField();
		borrowdays.setEditable(false);
		panel_2.add(borrowdays);

		final JLabel label_13 = new JLabel("實際天數:");
		panel_2.add(label_13);

		realdays = new JTextField();
		realdays.setEditable(false);
		panel_2.add(realdays);

		final JLabel label_14 = new JLabel("超出天數:");
		panel_2.add(label_14);

		ccdays = new JTextField();
		ccdays.setEditable(false);
		panel_2.add(ccdays);

		final JLabel label_15 = new JLabel("罰款金額:");
		panel_2.add(label_15);

		fkmoney = new JTextField();
		fkmoney.setEditable(false);
		panel_2.add(fkmoney);

		final JPanel panel_3 = new JPanel();
		panel_3.setBorder(new TitledBorder(null, "系統信息",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel_3.setPreferredSize(new Dimension(280, 230));
		panel_1.add(panel_3);

		final JPanel panel_7 = new JPanel();
		final GridLayout gridLayout_3 = new GridLayout(0, 2);
		gridLayout_3.setVgap(35);
		panel_7.setLayout(gridLayout_3);
		panel_7.setPreferredSize(new Dimension(260, 90));
		panel_3.add(panel_7);

		final JLabel label_10_1 = new JLabel("當前時間:");
		panel_7.add(label_10_1);

		todaydate = new JTextField();
		todaydate.setEditable(false);
		todaydate.setPreferredSize(new Dimension(0, 0));
		todaydate.addActionListener(new TimeActionListener());// 注冊監聽對象
		todaydate.setFocusable(false);
		panel_7.add(todaydate);

		final JLabel label_11_1 = new JLabel("操作員:");
		panel_7.add(label_11_1);

		operator = new JTextField(user.getName());
		operator.setEditable(false);
		panel_7.add(operator);

		final JButton buttonback = new JButton("圖書歸還");
		buttonback.addActionListener(new BookBackActionListener(model));
		panel_3.add(buttonback);

		final JButton buttonExit = new JButton();
		buttonExit.setText("退出");
		buttonExit.addActionListener(new CloseActionListener());
		panel_3.add(buttonExit);
		setVisible(true);
		//

		final JPanel panel_totle2 = new JPanel();
		panel_totle2.setLayout(new BorderLayout());
		tabbedPane.addTab("輸入圖書編號", null, panel_totle2, null);

		final JPanel panel_2_1 = new JPanel();
		panel_2_1.setBorder(new TitledBorder(null, "相關圖書信息",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel_2_1.setPreferredSize(new Dimension(250, 230));
		panel_totle2.add(panel_2_1);

		final JLabel label = new JLabel("圖書編號    ");
		panel_2_1.add(label);
		bookISBN = new JTextField(20);
		bookISBN.setDocument(new MyDocument(20));
		bookISBN.addKeyListener(new bookISBNListener());
		panel_2_1.add(bookISBN);

		final JScrollPane scrollPaneBook = new JScrollPane();
		scrollPaneBook.setPreferredSize(new Dimension(500, 250));
		panel_2_1.add(scrollPaneBook);

		tableByBookISBN = new JTable();
		scrollPaneBook.setViewportView(tableByBookISBN);
		modelBook.setColumnIdentifiers(columnNames);
		tableByBookISBN.setModel(modelBook);
		tableByBookISBN.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

		final JPanel panel_2_2 = new JPanel();
		JButton buttonbookback = new JButton("圖書歸還");
		JButton buttonbookexit = new JButton("退出");
		buttonbookexit.addActionListener(new CloseActionListener());
		panel_2_2.add(buttonbookback);
		panel_2_2.add(buttonbookexit);
		panel_totle2.add(panel_2_2, BorderLayout.SOUTH);

	}

	class readerISBNListenerlostFocus extends KeyAdapter {
		public void keyTyped(KeyEvent e) {
			if (e.getKeyChar() == '\n') {// 判斷在文本框是否輸入回車
				int rowCount = table.getRowCount();
				// System.out.println("selRow = " + rowCount);
				if (rowCount != 0) {
					for (int i = rowCount - 1; i >= 0; i--) {
						// System.out.println("remove i = " + i);
						model.removeRow(i);
					}
				}
				add(); // 添加該讀者借書信息到table中
			}
		}
	}

	class bookISBNListener extends KeyAdapter {
		public void keyTyped(KeyEvent e) {
			if (e.getKeyChar() == '\n') {
				add();
			}
		}
	}

	class TableListener extends MouseAdapter {
		public void mouseClicked(final MouseEvent e) {
			java.util.Date date = new java.util.Date(); // 當前時間
			String fk = "";
			String days1 = "";
			int selRow = table.getSelectedRow(); // 獲取選中表格中借書記錄的行數
			List list = Dao.selectBookTypeFk(table.getValueAt(selRow, 2)
					.toString().trim()); // 取得各類書的罰款金額
			for (int i = 0; i < list.size(); i++) {
				BookType booktype = (BookType) list.get(i);
				fk = booktype.getFakuan(); // 取出圖書類型的罰款金額
				days1 = booktype.getDays();// 可借天數
			}
			borrowDate.setText(table.getValueAt(selRow, 5).toString().trim());
			int days2, days3;// days2實際借閱天數 days3超出借閱天數
			borrowdays.setText(days1 + "");
			// 計算實際借閱時間 = 當前時間 - 時間借閱時間
			days2 = date.getDate()
					- java.sql.Timestamp.valueOf(
							table.getValueAt(selRow, 5).toString().trim())
							.getDate();
            //System.out.println("table.getValueAt(selRow, 5).toString().trim()是"+table.getValueAt(selRow, 5).toString().trim());
			
			realdays.setText(days2 + "");
			// 計算超出借閱多少天 = 實際借閱天數 - 可借閱天數
			days3 = days2 - Integer.parseInt(days1);
			if (days3 > 0) {
				ccdays.setText(days3 + "");
				Double zfk = Double.valueOf(fk) * days3;
				fkmoney.setText(zfk + "元");
			} else {
				ccdays.setText("沒有超過規定天數");
				fkmoney.setText("0");
			}
			bookISBNs = table.getValueAt(selRow, 1).toString().trim();
			id = new Integer(table.getValueAt(selRow, 7).toString().trim());
		}
	}

	class TimeActionListener implements ActionListener {
		public TimeActionListener() {
			Timer t = new Timer(1000, this);// 創建一個每1000毫秒將通知其偵聽器的 Timer
			t.start();// 啟動該 Timer,以使它開始向其偵聽器發送操作事件。
		}

		public void actionPerformed(ActionEvent e) {
			todaydate.setText(myfmt.format(new java.util.Date()).toString());
		}
	}

	class BookBackActionListener implements ActionListener { // 添加圖書歸還按鈕的事件監聽器
		private final DefaultTableModel model;

		public BookBackActionListener(DefaultTableModel model) {
			this.model = model;
		}

		public void actionPerformed(ActionEvent e) {
			// 自動生成方法存根
			if (readerISBNs == null) {
				JOptionPane.showMessageDialog(null, "請輸入讀者編號!");
			} else {
				// System.out.print(bookISBNs == null);
				if (table.getSelectedRow() == -1) {
					JOptionPane.showMessageDialog(null, "請選擇要歸還的圖書");
					return;
				}
				int i = Dao.updateBookBack(bookISBNs, readerISBNs, id);
				System.out.println("i = " + i);
				if (i == 1) {
					int j = Dao.updateReaderBackBook(readerISBNs);
					System.out.println("j = " + j);
					if (j == 1) {
						int selectedRow = table.getSelectedRow();
						model.removeRow(selectedRow);
						JOptionPane.showMessageDialog(null, "還書操作完成!");
					} else {
						Dao.updateBookBackRollBack(bookISBNs, readerISBNs, id);
						JOptionPane.showMessageDialog(null,
								"圖書歸還失敗!請重新登入!在進行操作!");
					}
				} else {
					JOptionPane.showMessageDialog(null, "圖書歸還失敗!請重新登入!在進行操作!");
				}
			}
		}
	}

	class CloseActionListener implements ActionListener { // 添加關閉按鈕的事件監聽器
		public void actionPerformed(ActionEvent e) {
			doDefaultCloseAction();
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线播放一区| 久久疯狂做爰流白浆xx| 精品国产免费一区二区三区四区| 欧美在线短视频| 91在线高清观看| 91久久久免费一区二区| 91麻豆国产在线观看| 色综合视频一区二区三区高清| 成人黄色av电影| 91在线观看美女| 色欧美片视频在线观看| 欧洲精品在线观看| 欧美电影一区二区| 精品福利视频一区二区三区| 欧美精品一区二区蜜臀亚洲| 国产目拍亚洲精品99久久精品 | 日韩激情视频网站| 视频一区欧美精品| 精品一区二区三区影院在线午夜| 韩国毛片一区二区三区| 粉嫩高潮美女一区二区三区| 波多野结衣欧美| 欧美色视频在线| 欧美不卡在线视频| 国产精品久线在线观看| 亚洲一区在线看| 精品一区二区在线播放| 成人av小说网| 欧美精品久久99久久在免费线 | 亚洲一级片在线观看| 日韩二区在线观看| 国产999精品久久| 日本韩国精品在线| 精品国产1区2区3区| 国产精品成人午夜| 日本aⅴ亚洲精品中文乱码| 国产成人精品免费看| 欧美日韩一区二区在线观看| 久久夜色精品国产欧美乱极品| 亚洲视频在线一区观看| 图片区小说区区亚洲影院| 国产成人精品亚洲777人妖| 91久久香蕉国产日韩欧美9色| 日韩精品一区二区三区蜜臀| 亚洲乱码国产乱码精品精98午夜| 精品一区二区三区久久久| 色婷婷综合激情| 国产嫩草影院久久久久| 日本午夜一本久久久综合| 97精品久久久久中文字幕| 日韩免费成人网| 亚洲伊人伊色伊影伊综合网| 国产sm精品调教视频网站| 欧美一级精品大片| 一区二区三区精密机械公司| 国产成人小视频| 日韩一区二区影院| 婷婷开心久久网| 在线视频亚洲一区| 国产精品久久久久一区| 国产精品一二三四区| 这里只有精品99re| 亚洲自拍偷拍欧美| 91在线无精精品入口| 欧美国产日韩精品免费观看| 久国产精品韩国三级视频| 欧美午夜理伦三级在线观看| 亚洲人成亚洲人成在线观看图片| 国产一区二区视频在线| 日韩久久久精品| 日韩综合在线视频| 欧美精品久久99久久在免费线| 亚洲一区二区在线播放相泽 | 亚洲成人av中文| 色婷婷亚洲精品| 亚洲人成人一区二区在线观看| 成人激情免费视频| 亚洲国产精品v| caoporen国产精品视频| 国产精品二三区| 91婷婷韩国欧美一区二区| 国产精品久久久久久久蜜臀 | 欧美男人的天堂一二区| 亚洲成a人片在线观看中文| 欧美丝袜自拍制服另类| 亚洲福中文字幕伊人影院| 欧美三级电影一区| 午夜不卡av在线| 日韩三级中文字幕| 激情文学综合网| 国产精品色噜噜| 91在线视频观看| 天堂成人国产精品一区| 欧美一区二区三区免费大片 | 亚洲人成亚洲人成在线观看图片| 色综合久久综合网97色综合| 亚洲一二三四区不卡| 91精品国产91久久久久久最新毛片 | 亚洲国产另类av| 日韩一区二区三区在线观看| 精品在线播放午夜| 国产精品久久久爽爽爽麻豆色哟哟| eeuss鲁片一区二区三区在线看| 玉米视频成人免费看| 91麻豆精品国产91久久久久久久久| 久久爱www久久做| 中文字幕永久在线不卡| 欧美老女人第四色| 国产精品123区| 亚洲在线免费播放| 亚洲精品一区二区三区香蕉| 91麻豆swag| 久久精品国产网站| 亚洲欧美偷拍另类a∨色屁股| 91麻豆精品91久久久久同性| 高清日韩电视剧大全免费| 亚洲一区二区三区四区在线免费观看| 日韩一区二区精品| 在线免费观看一区| 国产乱码字幕精品高清av| 亚洲国产成人porn| 中文字幕一区二区三区不卡在线| 在线电影欧美成精品| www.亚洲激情.com| 捆绑紧缚一区二区三区视频| 亚洲欧美电影一区二区| 久久久精品人体av艺术| 欧美亚洲国产一区二区三区va| 国产精品888| 美女网站色91| 香蕉av福利精品导航| 亚洲天堂a在线| 中文字幕av在线一区二区三区| 3atv一区二区三区| 欧美影院一区二区三区| 成人三级伦理片| 国产精品自产自拍| 免费成人在线观看视频| 亚洲国产日韩a在线播放| 亚洲国产精品t66y| 国产性色一区二区| 欧美成人欧美edvon| 欧美一级二级在线观看| 欧美日韩成人一区二区| 欧美亚洲动漫另类| 色狠狠综合天天综合综合| 91在线porny国产在线看| 成人短视频下载 | 一区二区三区在线播放| 亚洲欧洲日产国产综合网| 亚洲国产精品成人综合色在线婷婷| 精品国产sm最大网站| 精品久久久久久久久久久久久久久久久| 欧美色偷偷大香| 欧美精品在线视频| 欧美美女一区二区在线观看| 欧美日韩国产影片| 欧美一区二区在线视频| 欧美一区二区三区视频免费| 日韩小视频在线观看专区| 日韩一区二区免费在线电影| 欧美大片一区二区| 2欧美一区二区三区在线观看视频| 精品国产青草久久久久福利| 2023国产精华国产精品| 亚洲国产精品国自产拍av| 国产精品久久久久久久久果冻传媒| 中文字幕av不卡| 亚洲人成伊人成综合网小说| 亚洲国产综合91精品麻豆| 午夜电影一区二区三区| 免费xxxx性欧美18vr| 国产一区在线视频| 成人黄色大片在线观看| 在线精品国精品国产尤物884a| 欧美日韩一卡二卡三卡 | 成人免费看的视频| 97久久人人超碰| 91精品欧美久久久久久动漫| 精品国偷自产国产一区| 中文字幕中文在线不卡住| 亚洲午夜av在线| 国产麻豆精品在线| 91玉足脚交白嫩脚丫在线播放| 欧美一区二区三区四区视频| 欧美精品一区二区三区一线天视频| 国产精品久线在线观看| 日韩精品欧美成人高清一区二区| 九色综合国产一区二区三区| 91视频在线看| 精品欧美一区二区久久| 亚洲欧洲制服丝袜| 久久aⅴ国产欧美74aaa| 一本久久综合亚洲鲁鲁五月天 | 中文字幕不卡在线| 偷拍自拍另类欧美| a4yy欧美一区二区三区| 日韩一区二区三区四区五区六区| 国产精品每日更新在线播放网址| 午夜av电影一区|