📄 newbookorderiframe.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 + -