📄 shopframe.java
字号:
package gaasbooking;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.event.*;
public class ShopFrame extends JFrame{
private static final long serialVersionUID = 2L;
public ShopFrame()
{
setTitle("Take away shop");
setSize(new Dimension(900, 650));
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainpan = new JPanel();
mainpan.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
mainpan.setLayout(new GridLayout(1,2));
leftpan = new JPanel();
leftpan.setBorder(BorderFactory.createEmptyBorder(0,0,0,8));
leftpan.setLayout(new FlowLayout(FlowLayout.LEFT));
leftpan.setPreferredSize(new Dimension(420,620));
left1 = new JLabel("Menu");
left1.setForeground(Color.blue);
left1.setFont(menuFont);
bookName = new JTextField();
bookName.setPreferredSize(new Dimension(400,25));
menuModel = new DefaultListModel();
bookList = new JList(menuModel);
bookList.setFont(new Font("Monospaced",Font.BOLD,13));
menuScroll = new JScrollPane(bookList);
menuScroll.setPreferredSize(new Dimension(400,300));
con.connection();
con.updataMenu("", menuModel);
con.close();
left2 = new JLabel("Phone");
left2.setPreferredSize(new Dimension(76,25));
left2.setFont(menuFont);
left2.setForeground(Color.blue);
phoneNum = new JTextField();
phoneNum.setPreferredSize(new Dimension(320,25));
left3 = new JLabel("Address");
left3.setPreferredSize(new Dimension(76,25));
left3.setFont(menuFont);
left3.setForeground(Color.blue);
address = new JTextArea();
address.setLineWrap(true);
addressScroll = new JScrollPane(address);
addressScroll.setPreferredSize(new Dimension(320,60));
leftButtonPan = new JPanel();
saveCustomer = new JButton("Save Customer");
clear = new JButton("Clear");
leftButtonPan.setPreferredSize(new Dimension(420,50));
leftButtonPan.add(saveCustomer);
leftButtonPan.add(clear);
leftpan.add(left1);
leftpan.add(bookName);
leftpan.add(menuScroll);
leftpan.add(left2);
leftpan.add(phoneNum);
leftpan.add(left3);
leftpan.add(addressScroll);
leftpan.add(leftButtonPan);
rightpan = new JPanel();
rightpan.setBorder(BorderFactory.createEmptyBorder(0,8,0,0));
rightpan.setPreferredSize(new Dimension(420,620));
rightpan.setLayout(new FlowLayout(FlowLayout.LEFT));
right1 = new JLabel("Ordered Items");
right1.setFont(menuFont);
right1.setForeground(Color.blue);
rightpan.add(right1);
orderModel = new DefaultListModel();
orderBookList = new JList(orderModel);
orderScroll = new JScrollPane(orderBookList);
orderBookList.setFont(new Font("Monospaced",Font.BOLD,13));
orderScroll.setPreferredSize(new Dimension(400,300));
rightpan.add(orderScroll);
right2 = new JLabel("Total:");
right2.setFont(menuFont);
right2.setForeground(Color.blue);
right2.setPreferredSize(new Dimension(76,25));
rightpan.add(right2);
right3 = new JLabel("0.00");
right3.setFont(menuFont);
right3.setForeground(Color.blue);
right3.setPreferredSize(new Dimension(320,25));
right3.setHorizontalAlignment(JLabel.RIGHT);
rightpan.add(right3);
right4 = new JLabel("SurName");
right4.setFont(menuFont);
right4.setForeground(Color.blue);
right4.setPreferredSize(new Dimension(76,25));
rightpan.add(right4);
surName = new JTextField();
surName.setPreferredSize(new Dimension(320,25));
rightpan.add(surName);
right5 = new JLabel("FirstName");
right5.setFont(menuFont);
right5.setForeground(Color.blue);
right5.setPreferredSize(new Dimension(76,25));
rightpan.add(right5);
firstName = new JTextField();
firstName.setPreferredSize(new Dimension(320,25));
rightpan.add(firstName);
right6 = new JLabel("PostCode");
right6.setFont(menuFont);
right6.setPreferredSize(new Dimension(76,25));
right6.setForeground(Color.blue);
rightpan.add(right6);
postCode = new JTextField();
postCode.setPreferredSize(new Dimension(320,25));
rightpan.add(postCode);
rightButtonPan = new JPanel();
rightButtonPan.setPreferredSize(new Dimension(420,50));
saveOrder = new JButton("SaveOrder");
exit = new JButton("Exit");
rightButtonPan.add(saveOrder);
rightButtonPan.add(exit);
rightpan.add(rightButtonPan);
bookName.addCaretListener(new CaretListener(){
public void caretUpdate(CaretEvent e)
{
con.connection();
con.updataMenu(bookName.getText().trim(), menuModel);
con.close();
}
}
);
saveCustomer.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
if(phoneNum.getText().trim().isEmpty()||
address.getText().trim().isEmpty()||
surName.getText().trim().isEmpty()||
firstName.getText().trim().isEmpty()||
postCode.getText().trim().isEmpty())
{
JOptionPane.showConfirmDialog(null,"some infomation is empty!","err!",JOptionPane.OK_OPTION);
return;
}
con.connection();
con.insertCustomer(phoneNum.getText().trim(),
address.getText().trim(),
surName.getText().trim(),
firstName.getText().trim(),
postCode.getText().trim());
con.close();
}
});
clear.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
phoneNum.setText("");
address.setText("");
surName.setText("");
firstName.setText("");
postCode.setText("");
}
});
exit.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
System.exit(0);
}
});
saveOrder.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
if(orderModel.getSize() == 0)
{
JOptionPane.showConfirmDialog(null,"OrderItems is empty!","err!",JOptionPane.OK_OPTION);
return;
}
if(phoneNum.getText().isEmpty())
{
JOptionPane.showConfirmDialog(null,"phoneNum is empty!","err!",JOptionPane.OK_OPTION);
return;
}
String orderList = "";
orderList += orderModel.elementAt(0).toString().substring(0,4);
for(int i = 1;i < orderModel.getSize();i ++)
{
orderList += ",";
orderList += orderModel.elementAt(i).toString().substring(0,4);
}
Calendar cal=Calendar.getInstance();
con.connection();
con.insertOrder(phoneNum.getText().trim(),cal.get(Calendar.YEAR)+"-"+cal.get(Calendar.MONTH)+"-"+cal.get(Calendar.DATE),orderList);
con.close();
}
});
bookList.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount() == 2)
{
orderModel.addElement(bookList.getSelectedValue());
}
}
}
);
orderBookList.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount() == 2)
{
if(orderModel.getSize() != 0)
{
delOrder = orderBookList.getSelectedValue().toString();
orderModel.remove(orderBookList.getSelectedIndex());
}
}
}
});
orderModel.addListDataListener(new ListDataListener(){
public void intervalAdded(ListDataEvent e){
con.connection();
con.updataTotal(1, right3,orderModel.getElementAt(orderModel.getSize()-1).toString().substring(0, 4));
con.close();
}
public void intervalRemoved(ListDataEvent e){
con.connection();
con.updataTotal(0, right3,delOrder.toString().substring(0, 4));
con.close();
}
public void contentsChanged(ListDataEvent e){
}
});
mainpan.add(leftpan);
mainpan.add(rightpan);
add(mainpan);
telServer = new TelServer();
telServer.getFrame(this);
telThread = new Thread(telServer);
telThread.start();
}
private JPanel mainpan,leftpan,rightpan,leftButtonPan,rightButtonPan;
private JLabel left1,left2,left3,right1,right2,right3,right4,right5,right6;
JTextField bookName,phoneNum,surName,firstName,postCode;
JTextArea address;
private JList bookList,orderBookList;
final DefaultListModel menuModel,orderModel;
private JScrollPane menuScroll,addressScroll,orderScroll;
private DatabaseCon con = new DatabaseCon();
private Font menuFont = new Font(null,Font.BOLD,15);
private JButton saveCustomer,clear,saveOrder,exit;
private String delOrder;
TelServer telServer;
Thread telThread;
public static void main(String[] arg)
{
ShopFrame temp = new ShopFrame();
temp.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -