📄 ordernewbook.java
字号:
package library.iframe;
import java.awt.BorderLayout;
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.Date;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import library.DBConnectOperation.Dbo;
import library.model.Operator;
import library.util.CreateIcon;
public class OrdernewBook extends JInternalFrame {
private JFormattedTextField orderDate;
private JTextField orderNumber;
private JTextField operator;
private JTextField bookName;
private JTextField publisher;
private JTextField writer;
private JTextField ISBN;
private JButton saveButton;
private JButton cancelButton;
private Operator currentOperator=BookLogin.getOperator();
private final SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
public OrdernewBook(){
super();
setBounds(100, 100, 396, 300);
setTitle("新书订购");
setIconifiable(true);
setClosable(true);
((BorderLayout) getContentPane().getLayout()).setVgap(10);
//设置顶部图片
JLabel labelTop=new JLabel();
labelTop.setIcon(CreateIcon.add("newOrder.jpg"));
getContentPane().add(labelTop,BorderLayout.NORTH);
//设置中央面板,用于添加图片信息
JPanel panelCenter=new JPanel();
GridLayout gridLayoutCenter=new GridLayout(0,4);
gridLayoutCenter.setHgap(5);
gridLayoutCenter.setVgap(5);
panelCenter.setLayout(gridLayoutCenter);
getContentPane().add(panelCenter);
JLabel labelOrderDate=new JLabel();
labelOrderDate.setText("订购日期:");
labelOrderDate.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelOrderDate);
orderDate=new JFormattedTextField(format);
orderDate.setValue(new Date());
panelCenter.add(orderDate);
JLabel labelOrderNumber=new JLabel();
labelOrderNumber.setText("订购数量:");
labelOrderNumber.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelOrderNumber);
orderNumber=new JTextField();
orderNumber.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
try{
Integer.parseInt(orderNumber.getText());
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"订购数量应为数字!");
orderNumber.setText("");
return;
}
}
});
panelCenter.add(orderNumber);
JLabel labelOperator=new JLabel();
labelOperator.setText("操作员:");
labelOperator.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelOperator);
operator=new JTextField();
operator.setEditable(false);
operator.setText(currentOperator.getName());
panelCenter.add(operator);
JLabel labelISBN=new JLabel();
labelISBN.setText("图书编号:");
labelISBN.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelISBN);
ISBN=new JTextField();
ISBN.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){
if(ISBN.getText().length()!=13){
JOptionPane.showMessageDialog(null, "图书编号必须为13位");
ISBN.setText("");
return;
}
else if(Dbo.selectNewBookISBN(ISBN.getText())!=null){
JOptionPane.showMessageDialog(null, "该图书编号已经存在,请返回重新输入书号!");
ISBN.setText("");
return;
}
}
});
panelCenter.add(ISBN);
JLabel labelBookName=new JLabel();
labelBookName.setText("书名:");
labelBookName.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelBookName);
bookName=new JTextField();
bookName.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
if(bookName.getText().length()>20){
JOptionPane.showMessageDialog(null, "书名不能超过20个字符!");
bookName.setText("");
return;
}
}
});
panelCenter.add(bookName);
JLabel labelPublisher=new JLabel();
labelPublisher.setText("出版社:");
labelPublisher.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelPublisher);
publisher=new JTextField();
publisher.addKeyListener(new KeyAdapter(){
public void actionPerformed(KeyEvent e){
if(publisher.getText().length()>50){
JOptionPane.showMessageDialog(null, "出版社不能超过50个字符!");
publisher.setText("");
return;
}
}
});
panelCenter.add(publisher);
JLabel labelWriter=new JLabel();
labelWriter.setText("作者:");
labelWriter.setHorizontalAlignment(SwingConstants.RIGHT);
panelCenter.add(labelWriter);
writer=new JTextField();
writer.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
if(writer.getText().length()>20){
JOptionPane.showMessageDialog(null, "作者不能超过20个字符!");
writer.setText("");
return;
}
}
});
panelCenter.add(writer);
//添加底部面板,用于添加相应按钮
JPanel panelBottom=new JPanel();
FlowLayout flowLayoutBottom=new FlowLayout();
flowLayoutBottom.setVgap(5);
flowLayoutBottom.setHgap(20);
panelBottom.setLayout(flowLayoutBottom);
getContentPane().add(panelBottom,BorderLayout.SOUTH);
saveButton=new JButton();
saveButton.setText("保存");
saveButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(orderDate.getText().length()==0){
JOptionPane.showMessageDialog(null, "订购时间不能为空!");
return;
}
if(orderNumber.getText().length()==0){
JOptionPane.showMessageDialog(null, "订购数量不能为空!");
return;
}
if(ISBN.getText().length()==0){
JOptionPane.showMessageDialog(null, "图书编号不能为空!");
return;
}
if(bookName.getText().length()==0){
JOptionPane.showMessageDialog(null, "图书名称不能为空!");
return;
}
if(publisher.getText().length()==0){
JOptionPane.showMessageDialog(null, "出版社不能为空!");
return;
}
if(writer.getText().length()==0){
JOptionPane.showMessageDialog(null, "作者不能为空!");
return;
}
String sql="insert into tb_order values("+currentOperator.getId()+",'"+ISBN.getText()
+"','"+orderDate.getText()+"',"+Integer.parseInt(orderNumber.getText())+",'"+
bookName.getText()+"','"+publisher.getText()+"','"+writer.getText()+"')";
if(Dbo.executeUpdate(sql)!=-1){
JOptionPane.showMessageDialog(null, "添加成功!");
orderNumber.setText("");
bookName.setText("");
publisher.setText("");
writer.setText("");
ISBN.setText("");
orderNumber.setText("");
return;
}
else JOptionPane.showMessageDialog(null, "添加失败!");
}
});
panelBottom.add(saveButton);
cancelButton=new JButton();
cancelButton.setText("返回");
cancelButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
panelBottom.add(cancelButton);
setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -