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

📄 newbookorderiframe.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.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
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.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;

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

public class newBookOrderIFrame extends JInternalFrame {
	private JTextField bookName;
	private JTextField zhekou;
	private ButtonGroup buttonGroup = new ButtonGroup();
	private JComboBox cbs;
	private JTextField price;
	private JComboBox bookType;
	private JTextField operator;
	private JTextField orderNumber;
	private JTextField ISBN;
	private JFormattedTextField orderDate;
	DefaultComboBoxModel bookTypeModel;
	DefaultComboBoxModel cbsModel;
	JRadioButton radioButton1;
	JRadioButton radioButton2;
	Map map;
	DefaultTableModel model;
	private Operater user = BookLoginIFrame.getUser();

	public newBookOrderIFrame() {
		super();
		setTitle("新书订购管理");
		setIconifiable(true); // 可最小化的
		setClosable(true); // 可关闭的
		setBounds(100, 100, 500, 320);

		final JPanel panel = new JPanel();
		panel.setLayout(new FlowLayout());
		panel.setPreferredSize(new Dimension(0, 240));
		getContentPane().add(panel);

		final JPanel panel_4 = new JPanel();
		panel_4.setBorder(new TitledBorder(null, "订购信息",
				TitledBorder.DEFAULT_JUSTIFICATION,// 标题文本使用默认的对齐方式
				TitledBorder.DEFAULT_POSITION, null, null));// 标题文本使用默认的垂直方向
		panel_4.setPreferredSize(new Dimension(480, 120));
		final GridLayout gridLayout_1 = new GridLayout(0, 4);
		gridLayout_1.setVgap(8);
		panel_4.setLayout(gridLayout_1);
		panel.add(panel_4);

		final JLabel label_1 = new JLabel();
		panel_4.add(label_1);
		label_1.setText("订购日期:");

		SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd");// 简单日期显示格式
		orderDate = new JFormattedTextField(myfmt.getDateInstance());
		panel_4.add(orderDate);
		orderDate.setValue(new java.util.Date());
		orderDate.addKeyListener(new DateListener());

		final JLabel label_4 = new JLabel();
		panel_4.add(label_4);
		label_4.setText("订购数量:");

		orderNumber = new JTextField();
		panel_4.add(orderNumber);
		orderNumber.setDocument(new MyDocument(4));
		orderNumber.addKeyListener(new NumberListener());

		final JLabel label_5 = new JLabel();
		panel_4.add(label_5);
		label_5.setText("操作员:");
		operator = new JTextField(user.getName());
		panel_4.add(operator);
		operator.setEditable(false);

		final JLabel label_9 = new JLabel();
		panel_4.add(label_9);
		label_9.setText("是否验收:");

		final JPanel panel_3 = new JPanel();
		panel_4.add(panel_3);

		radioButton1 = new JRadioButton();
		radioButton1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			}
		});
		buttonGroup.add(radioButton1);
		panel_3.add(radioButton1);
		radioButton1.setText("是");

		radioButton2 = new JRadioButton();
		radioButton2.setSelected(true);
		buttonGroup.add(radioButton2);
		panel_3.add(radioButton2);
		radioButton2.setText("否");

		final JLabel label = new JLabel();
		panel_4.add(label);
		label.setText("折扣:");

		zhekou = new JTextField();
		zhekou.setDocument(new MyDocument(1));
		zhekou.addKeyListener(new NumberListener());
		panel_4.add(zhekou);

		final JPanel panel_1 = new JPanel();
		panel_1.setBorder(new TitledBorder(null, "图书信息",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		final GridLayout gridLayout = new GridLayout(0, 4);
		gridLayout.setVgap(5);
		panel_1.setLayout(gridLayout);
		panel_1.setPreferredSize(new Dimension(0, 100));
		getContentPane().add(panel_1, BorderLayout.NORTH);

		final JLabel label_3 = new JLabel();
		label_3.setText("书籍编号:");
		panel_1.add(label_3);

		ISBN = new JTextField();
		ISBN.setDocument(new MyDocument(13));
		// ISBN.addKeyListener(new ISBNListener());
		ISBN.addFocusListener(new ISBNListenerlostFocus());
		panel_1.add(ISBN);

		final JLabel label_2 = new JLabel();
		label_2.setText("图书名称:");
		panel_1.add(label_2);

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

		final JLabel label_6 = new JLabel();
		label_6.setText("图书类别:");
		panel_1.add(label_6);

		bookType = new JComboBox();
		bookTypeModel = (DefaultComboBoxModel) bookType.getModel();
		panel_1.add(bookType);

		final JLabel label_8 = new JLabel();
		label_8.setText("出版社:");
		panel_1.add(label_8);
		cbs = new JComboBox();
		cbsModel = (DefaultComboBoxModel) cbs.getModel();
		panel_1.add(cbs);

		final JLabel label_7 = new JLabel();
		label_7.setText("图书价格:");
		panel_1.add(label_7);

		price = new JTextField();
		price.setDocument(new MyDocument(5));
		panel_1.add(price);

		map = new HashMap();
		// 从数据库中取出图书类别
		List list = Dao.selectBookCategory();
		for (int i = 0; i < list.size(); i++) {
			BookType booktype = (BookType) list.get(i);
			Item item = new Item();
			item.setId((String) booktype.getId());
			item.setName((String) booktype.getTypeName());
			bookTypeModel.addElement(item);// 向图书类别下拉菜单中添加图书类别元素
			map.put(item.getId(), item);// 向map添加图书类别元素

		}
		String[] array = new String[] { "***出版社", "**信息出版社", "**大型出版社",
				"***小型出版社" };
		cbs.setModel(new DefaultComboBoxModel(array));

		final JPanel panel_2 = new JPanel();
		panel_2.setPreferredSize(new Dimension(0, 50));
		getContentPane().add(panel_2, BorderLayout.SOUTH);

		final JButton buttonAdd = new JButton();
		buttonAdd.setText("添加");
		buttonAdd.addActionListener(new ButtonAddLisenter());
		panel_2.add(buttonAdd);

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

	}

	class DateListener extends KeyAdapter {
		public void keyTyped(KeyEvent e) {
			if (orderDate.getText().isEmpty()) {
				JOptionPane.showMessageDialog(null, "时间格式请用\"2008-10-07\"格式");
			}
		}
	}

	class NumberListener extends KeyAdapter {
		public void keyType(KeyEvent e) {
			String numStr = "0123456789" + (char) 8;
			if (numStr.indexOf(e.getKeyChar()) < 0) {
				e.consume();
			}
		}
	}

	class ISBNListenerlostFocus extends FocusAdapter {
		public void focusLost(FocusEvent e) {
			String ISBNs = ISBN.getText().trim();
			if (!Dao.selectBookOrder(ISBNs).isEmpty()) {// 如果数据库中已经存在要订购编号为ISBNs的图书
				JOptionPane
						.showMessageDialog(null, "已经为此编号图书添加订购信息,请输入其他图书编号!");
				ISBN.setText("");
				bookName.setText("");
				price.setText("");
				return;
			}
			List list = Dao.selectBookInfo(ISBNs);// 导出图书编号为IBSNs的图书信息
			if (list.isEmpty() && !ISBN.getText().isEmpty()) {// 如果数据库里没有编号为ISBNs的书,并且图书编号文本框输入不为空
				ISBN.setText("");
				bookName.setText("");
				price.setText("");
				JOptionPane.showMessageDialog(null,
						"图书信息表中无此书号,请您首先到基础数据维护中进行图书信息添加操作");
			}
			for (int i = 0; i < list.size(); i++) {
				BookInfo bookinfo = (BookInfo) list.get(i);
				bookName.setText(bookinfo.getBookname());
				bookType.setSelectedItem(map.get(bookinfo.getTypeid()));
				cbs.setSelectedItem(bookinfo.getPublisher());
				price.setText(String.valueOf(bookinfo.getPrice()));
			}
		}
	}

	class ButtonAddLisenter implements ActionListener {
		public void actionPerformed(final ActionEvent e) {
			if (orderDate.getText().isEmpty()) {
				JOptionPane.showMessageDialog(null, "订书日期文本框不可为空");
				return;
			}
			if (ISBN.getText().isEmpty()) {
				JOptionPane.showMessageDialog(null, "图书编号文本框不可为空");
				return;
			}
			if (orderNumber.getText().isEmpty()) {
				JOptionPane.showMessageDialog(null, "订书数量文本框不可为空");
				return;
			}
			if (operator.getText().isEmpty()) {
				JOptionPane.showMessageDialog(null, "操作员文本框不可为空");
				return;
			}

			if (price.getText().isEmpty()) {
				JOptionPane.showMessageDialog(null, "价格文本框不可为空");
				return;
			}
			if (!Dao.selectBookOrder(ISBN.getText().trim()).isEmpty()) {
				JOptionPane.showMessageDialog(null, "添加书号重复!");
				return;
			}
			String checkAndAccept = "0";
			if (radioButton2.isSelected()) {
				checkAndAccept = "1";
			}
			System.out.println(checkAndAccept);
			Double zks = Double.valueOf(zhekou.getText()) / 10;
			try {
				int i = Dao.insertBookOrder(ISBN.getText().trim(),
						java.sql.Date.valueOf(orderDate.getText().trim()),
						orderNumber.getText().trim(),
						operator.getText().trim(), checkAndAccept, zks);
				System.out.println(i);
				if (i == 1) {
					JOptionPane.showMessageDialog(null, "添加成功!");
				}
			} catch (Exception e1) {
				System.out.println(e1.getMessage());
			}
		}
	}

	class CloseActionListener implements ActionListener {
		public void actionPerformed(final ActionEvent e) {
			doDefaultCloseAction();
		}
	}
	// public static void main(String[] args){
	// new newBookOrderIFrame();
	// }
}

⌨️ 快捷键说明

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