?? newbookorderiframe.java
字號(hào):
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("新書(shū)訂購(gòu)管理");
setIconifiable(true); // 可最小化的
setClosable(true); // 可關(guān)閉的
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, "訂購(gòu)信息",
TitledBorder.DEFAULT_JUSTIFICATION,// 標(biāo)題文本使用默認(rèn)的對(duì)齊方式
TitledBorder.DEFAULT_POSITION, null, null));// 標(biāo)題文本使用默認(rèn)的垂直方向
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("訂購(gòu)日期:");
SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd");// 簡(jiǎn)單日期顯示格式
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("訂購(gòu)數(shù)量:");
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("是否驗(yàn)收:");
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, "圖書(shū)信息",
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("書(shū)籍編號(hào):");
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("圖書(shū)名稱:");
panel_1.add(label_2);
bookName = new JTextField();
panel_1.add(bookName);
final JLabel label_6 = new JLabel();
label_6.setText("圖書(shū)類別:");
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("圖書(shū)價(jià)格:");
panel_1.add(label_7);
price = new JTextField();
price.setDocument(new MyDocument(5));
panel_1.add(price);
map = new HashMap();
// 從數(shù)據(jù)庫(kù)中取出圖書(shū)類別
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);// 向圖書(shū)類別下拉菜單中添加圖書(shū)類別元素
map.put(item.getId(), item);// 向map添加圖書(shū)類別元素
}
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, "時(shí)間格式請(qǐng)用\"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()) {// 如果數(shù)據(jù)庫(kù)中已經(jīng)存在要訂購(gòu)編號(hào)為ISBNs的圖書(shū)
JOptionPane
.showMessageDialog(null, "已經(jīng)為此編號(hào)圖書(shū)添加訂購(gòu)信息,請(qǐng)輸入其他圖書(shū)編號(hào)!");
ISBN.setText("");
bookName.setText("");
price.setText("");
return;
}
List list = Dao.selectBookInfo(ISBNs);// 導(dǎo)出圖書(shū)編號(hào)為IBSNs的圖書(shū)信息
if (list.isEmpty() && !ISBN.getText().isEmpty()) {// 如果數(shù)據(jù)庫(kù)里沒(méi)有編號(hào)為ISBNs的書(shū),并且圖書(shū)編號(hào)文本框輸入不為空
ISBN.setText("");
bookName.setText("");
price.setText("");
JOptionPane.showMessageDialog(null,
"圖書(shū)信息表中無(wú)此書(shū)號(hào),請(qǐng)您首先到基礎(chǔ)數(shù)據(jù)維護(hù)中進(jìn)行圖書(shū)信息添加操作");
}
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, "訂書(shū)日期文本框不可為空");
return;
}
if (ISBN.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "圖書(shū)編號(hào)文本框不可為空");
return;
}
if (orderNumber.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "訂書(shū)數(shù)量文本框不可為空");
return;
}
if (operator.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "操作員文本框不可為空");
return;
}
if (price.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "價(jià)格文本框不可為空");
return;
}
if (!Dao.selectBookOrder(ISBN.getText().trim()).isEmpty()) {
JOptionPane.showMessageDialog(null, "添加書(shū)號(hào)重復(fù)!");
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();
// }
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -