⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookmodianddeliframe.java

📁 图书管理系统java+swing+SQL Server实现 包含了图书管理系统的所有功能 纯JAVA实现
💻 JAVA
字号:
package com.lishan.iframe;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.SystemColor;
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.sql.Date;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
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.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;

import com.lishan.JComPz.Item;
import com.lishan.JComPz.MapPz;
import com.lishan.dao.Dao;
import com.lishan.model.BookInfo;
import com.lishan.model.BookType;
import com.lishan.util.CreatedIcon;
import com.lishan.util.MyDocument;

/**
 * 图书修改窗体
 * 
 * @author nopeople
 * 
 */
public class BookModiAndDelIFrame extends JInternalFrame {
	private JTable table;
	private JFormattedTextField price;
	private JFormattedTextField pubDate;
	private JTextField translator;
	private JTextField publisher;
	private JTextField writer;
	private JTextField ISBN;
	private JTextField bookName;
	private JComboBox bookType;
	DefaultComboBoxModel bookTypeModel;
	private Item item;
	Map map = new HashMap();
	private String[] columnNames;
	private Map m = MapPz.getMap(); ;

	// 取数据库中图书相关信息放入表格中
	private Object[][] getFileStates(List list) {
		String[] columnNames = { "图书编号", "图书类别", "图书名称", "作者", "译者", "出版商",
				"出版日期", "价格" };
		Object[][] results = new Object[list.size()][columnNames.length];

		for (int i = 0; i < list.size(); i++) {
			BookInfo bookinfo = (BookInfo) list.get(i);
			results[i][0] = bookinfo.getISBN();
			String booktypename = String.valueOf(MapPz.getMap().get(
					bookinfo.getTypeid()));
			results[i][1] = booktypename;
			results[i][2] = bookinfo.getBookname();
			results[i][3] = bookinfo.getWriter();
			results[i][4] = bookinfo.getTranslator();
			results[i][5] = bookinfo.getPublisher();
			results[i][6] = bookinfo.getDate();
			results[i][7] = bookinfo.getPrice();
		}
		return results;
	}

	public BookModiAndDelIFrame() {
		super();
		final BorderLayout borderLayout = new BorderLayout();
		getContentPane().setLayout(borderLayout);
		setMaximizable(true);
		setIconifiable(true);
		setClosable(true);
		setTitle("图书信息修改");
		setBounds(100, 100, 593, 406);

		final JPanel panel_1 = new JPanel();
		panel_1.setBorder(new LineBorder(SystemColor.activeCaptionBorder, 1,
				false));
		getContentPane().add(panel_1, BorderLayout.SOUTH);
		final FlowLayout flowLayout = new FlowLayout();
		flowLayout.setVgap(2);
		flowLayout.setHgap(30);
		flowLayout.setAlignment(FlowLayout.RIGHT);
		panel_1.setLayout(flowLayout);

		final JButton button = new JButton();
		button.addActionListener(new addBookActionListener());
		button.setText("修改");
		panel_1.add(button);

		// final JButton button_2 = new JButton();
		// button_2.addActionListener(new ActionListener(){
		// public void actionPerformed(final ActionEvent e) {
		// String ISBNs=ISBN.getText().trim();
		// int i=Dao.Delbook(ISBNs);
		// if(i==1){
		// JOptionPane.showMessageDialog(null, "删除成功");
		// Object[][] results=getFileStates(Dao.selectBookInfo());
		// //注释代码为使用表格模型
		// DefaultTableModel model=new DefaultTableModel();
		// // DefaultTableModel model = (DefaultTableModel) table.getModel();
		// table.setModel(model);
		// model.setDataVector(results, columnNames);
		// }
		// }
		// });
		// button_2.setText("删除");
		//		
		// panel_1.add(button_2);

		final JButton button_1 = new JButton();
		button_1.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				doDefaultCloseAction();
			}
		});
		button_1.setText("关闭");
		panel_1.add(button_1);

		final JLabel headLogo = new JLabel();
		ImageIcon bookModiAndDelIcon = CreatedIcon.add("bookmodify.jpg");
		headLogo.setIcon(bookModiAndDelIcon);
		headLogo.setOpaque(true);
		headLogo.setBackground(Color.CYAN);
		headLogo.setPreferredSize(new Dimension(400, 80));
		headLogo.setBorder(new LineBorder(SystemColor.activeCaptionBorder, 1,
				false));
		getContentPane().add(headLogo, BorderLayout.NORTH);

		final JPanel panel_2 = new JPanel();
		final BorderLayout borderLayout_1 = new BorderLayout();
		borderLayout_1.setVgap(5);
		panel_2.setLayout(borderLayout_1);
		panel_2.setBorder(new EmptyBorder(5, 10, 5, 10));
		getContentPane().add(panel_2);

		final JScrollPane scrollPane = new JScrollPane();
		panel_2.add(scrollPane);

		Object[][] results = getFileStates(Dao.selectBookInfo());
		columnNames = new String[] { "图书编号", "图书类别", "图书名称", "作者", "译者", "出版商",
				"出版日期", "价格" };
		table = new JTable(results, columnNames);
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

		// 鼠标单击表格中的内容产生事件,将表格中的内容放入文本框中
		table.addMouseListener(new TableListener());

		scrollPane.setViewportView(table);

		final JPanel bookPanel = new JPanel();
		panel_2.add(bookPanel, BorderLayout.SOUTH);
		final GridLayout gridLayout = new GridLayout(0, 6);
		gridLayout.setVgap(5);
		gridLayout.setHgap(5);
		bookPanel.setLayout(gridLayout);

		final JLabel label_2 = new JLabel();
		label_2.setHorizontalAlignment(SwingConstants.CENTER);
		label_2.setText("书       号:");
		bookPanel.add(label_2);

		ISBN = new JTextField();
		ISBN.setDocument(new MyDocument(13));
		bookPanel.add(ISBN);
		final JLabel label = new JLabel();
		label.setHorizontalAlignment(SwingConstants.CENTER);
		label.setText("类       别:");
		bookPanel.add(label);

		bookType = new JComboBox();
		bookTypeModel = (DefaultComboBoxModel) bookType.getModel();
		List list = Dao.selectBookCategory();
		for (int i = 0; i < list.size(); i++) {
			BookType booktype = (BookType) list.get(i);
			item = new Item();
			item.setId((String) booktype.getId());
			item.setName((String) booktype.getTypeName());
			bookTypeModel.addElement(item);
			map.put(item.getId(), item);
		}
		bookPanel.add(bookType);

		final JLabel label_1 = new JLabel();
		label_1.setHorizontalAlignment(SwingConstants.CENTER);
		label_1.setText("书    名:");
		bookPanel.add(label_1);

		bookName = new JTextField();
		bookPanel.add(bookName);

		final JLabel label_3 = new JLabel();
		label_3.setHorizontalAlignment(SwingConstants.CENTER);
		label_3.setText("作       者:");
		bookPanel.add(label_3);

		writer = new JTextField();
		bookPanel.add(writer);

		final JLabel label_2_1 = new JLabel();
		label_2_1.setHorizontalAlignment(SwingConstants.CENTER);
		label_2_1.setText("出  版  社:");
		bookPanel.add(label_2_1);

		publisher = new JTextField();
		bookPanel.add(publisher);

		final JLabel label_4 = new JLabel();
		label_4.setHorizontalAlignment(SwingConstants.CENTER);
		label_4.setText("译    者:");
		bookPanel.add(label_4);

		translator = new JTextField();
		bookPanel.add(translator);

		final JLabel label_1_1 = new JLabel();
		label_1_1.setHorizontalAlignment(SwingConstants.CENTER);
		label_1_1.setText("出 版 日 期:");
		bookPanel.add(label_1_1);

		SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd");
		pubDate = new JFormattedTextField(myfmt.getDateInstance());
		pubDate.setValue(new java.util.Date());
		bookPanel.add(pubDate);

		final JLabel label_3_1 = new JLabel();
		label_3_1.setHorizontalAlignment(SwingConstants.CENTER);
		label_3_1.setText("单      价:");
		bookPanel.add(label_3_1);

		price = new JFormattedTextField();
		price.addKeyListener(new NumberListener());
		bookPanel.add(price);
		setVisible(true);
	}

	class addBookActionListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			// TODO 修改图书信息表
			if (ISBN.getText().length() == 0) {
				JOptionPane.showMessageDialog(null, "书号文本框不可以为空或输入数字不能大于13个");
				return;
			}
			if (ISBN.getText().length() != 13) {
				JOptionPane.showMessageDialog(null, "书号文本框输入位数为13位");
				return;
			}
			if (bookName.getText().length() == 0) {
				JOptionPane.showMessageDialog(null, "图书名称文本框不可以为空");
				return;
			}
			if (writer.getText().length() == 0) {
				JOptionPane.showMessageDialog(null, "作者文本框不可以为空");
				return;
			}
			if (publisher.getText().length() == 0) {
				JOptionPane.showMessageDialog(null, "出版人文本框不可以为空");
				return;
			}
			// 日期与单价进行数字验证代码?
			if (pubDate.getText().length() == 0) {
				JOptionPane.showMessageDialog(null, "出版日期文本框不可以为空");
				return;
			}
			if (price.getText().length() == 0) {
				JOptionPane.showMessageDialog(null, "单价文本框不可以为空");
				return;
			}
			String ISBNs = ISBN.getText().trim();
			// 分类
			Object selectedItem = bookTypeModel.getSelectedItem();
			if (selectedItem == null)
				return;
			Item item = (Item) selectedItem;
			String bookTypes = item.getId();
			System.out.println(bookTypes);

			String translators = translator.getText().trim();
			String bookNames = bookName.getText().trim();
			String writers = writer.getText().trim();
			String publishers = publisher.getText().trim();
			String pubDates = pubDate.getText().trim();
			String prices = price.getText().trim();

			int i = Dao.updateBook(ISBNs, bookTypes, bookNames, writers,
					translators, publishers, Date.valueOf(pubDates), Double
							.parseDouble(prices));
			System.out.print(i);
			if (i == 1) {
				JOptionPane.showMessageDialog(null, "修改成功");
				Object[][] results = getFileStates(Dao.selectBookInfo());
				// 注释代码为使用表格模型
				DefaultTableModel model = new DefaultTableModel();
				// DefaultTableModel model = (DefaultTableModel)
				// table.getModel();
				table.setModel(model);
				model.setDataVector(results, columnNames);
			}
		}
	}

	class TableListener extends MouseAdapter {
		public void mouseClicked(final MouseEvent e) {
			String ISBNs, typeids, bookNames, writers, translators, publishers, dates, prices;
			int selRow = table.getSelectedRow();
			ISBNs = table.getValueAt(selRow, 0).toString().trim();
			typeids = table.getValueAt(selRow, 1).toString().trim();
			bookNames = table.getValueAt(selRow, 2).toString().trim();
			writers = table.getValueAt(selRow, 3).toString().trim();
			translators = table.getValueAt(selRow, 4).toString().trim();
			publishers = table.getValueAt(selRow, 5).toString().trim();
			dates = table.getValueAt(selRow, 6).toString().trim();
			prices = table.getValueAt(selRow, 7).toString().trim();

			ISBN.setText(ISBNs);

			bookTypeModel.setSelectedItem(typeids);
			bookName.setText(bookNames);
			writer.setText(writers);
			translator.setText(translators);
			publisher.setText(publishers);
			pubDate.setText(dates);
			price.setText(prices);
		}
	}

	class NumberListener extends KeyAdapter {
		public void keyType(KeyEvent e) {
			String numStr = "01ll23456789." + (char) 8;
			if (numStr.indexOf(e.getKeyChar()) < 0) {
				e.consume();
			}
		}
	}
	// public static void main(String[] args){
	// new BookModiAndDelIFrame();
	// }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -