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

📄 ordernewbook.java

📁 Java Swing写的图书馆管理系统
💻 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 + -