package com.chinasoft.ui;
/**
* 菜单主页面
*/
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;
import java.util.List;
import javax.swing.JTable;
import com.chinasoft.dao.BrackGroudImage;
import com.chinasoft.entity.Menus;
import com.chinasoft.entity.Orders;
import com.chinasoft.service.MenusService;
import com.chinasoft.service.OrdersService;
import java.awt.Color;
import javax.swing.JTextField;
public class MainPage extends JFrame {
private JPanel contentPane;
private JPanel contentPane_1;
private JTable menuTable;
private JTable orderTable;
private DefaultTableModel model1;
private DefaultTableModel model2;
private String menuName;
private double menuPrice;
private int number;
private double count1;
private double price;
static double totalCount;
MenusService mService = new MenusService();
private JTextField textField;
private JTextField textField_1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainPage frame = new MainPage();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainPage() {
setTitle("\u83DC\u5355\u8868");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1024, 570);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
// 背景
Image image = new ImageIcon("Image/05.jpg").getImage();
contentPane_1 = new BrackGroudImage(image);
setContentPane(contentPane_1);
contentPane_1.setLayout(null);
JScrollPane MenuscrollPane = new JScrollPane();
MenuscrollPane.setBounds(25, 100, 414, 322);
contentPane_1.add(MenuscrollPane);
// 菜单表
String[] title1 = { "菜品编号", "菜名", "单价", "会员价" };
model1 = new DefaultTableModel(title1, 0);
menuTable = new JTable(model1);
MenuscrollPane.setViewportView(menuTable);
// 调用显示数据库的菜单表
showMenusInfo();
JScrollPane OrderscrollPane = new JScrollPane();
OrderscrollPane.setBounds(600, 100, 366, 322);
contentPane_1.add(OrderscrollPane);
// 订单表
String[] title2 = { "菜名", "单价", "份数", "金额" };
model2 = new DefaultTableModel(title2, 0);
orderTable = new JTable(model2);
OrderscrollPane.setViewportView(orderTable);
JLabel lblNewLabel = new JLabel("\u83DC\u5355\u8868");
lblNewLabel.setBackground(Color.MAGENTA);
lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 24));
lblNewLabel.setBounds(175, 58, 94, 32);
contentPane_1.add(lblNewLabel);
JLabel label = new JLabel("\u5DF2\u9009\u83DC\u5355\u8868");
label.setFont(new Font("宋体", Font.PLAIN, 24));
label.setBounds(708, 58, 132, 32);
contentPane_1.add(label);
JButton btnNewButton = new JButton("\u65B0 \u589E");
btnNewButton.addActionListener(new ActionListener() {
// 新增菜品按钮
public void actionPerformed(ActionEvent e) {
// 获得选中的行
int index = menuTable.getSelectedRow();
if (index == -1) {
JOptionPane.showMessageDialog(MainPage.this, "请选择你要添加的菜",
"消息提示框", JOptionPane.INFORMATION_MESSAGE);
} else {
// 获得菜名
menuName = (String) model1.getValueAt(index, 1);
// 获取单价
menuPrice = (Double) model1.getValueAt(index, 2);
// 获取份数
number = 1;
// 计算价格
count1 = menuPrice * number;
Object[] row1 = { menuName, menuPrice, number, count1 };
// 将row1对象传至model2中
model2.addRow(row1);
// 计算总价格
totalCount += menuPrice;
textField.setText(String.valueOf(totalCount));
//将获取的值传入订单表
Orders orders=new Orders();
// orders.setMenuName((String) model1.getValueAt(index, 1));
// orders.setMenuPrice((Double) model1.getValueAt(index, 2));
// orders.setNumber((Integer) model1.getValueAt(index, 3));
// orders.setOrderPrice(totalCount);
// OrdersService oService=new OrdersService();
// boolean result=oService.insertMenus(orders);
// System.out.println(result);
//创建需要显示的页面的对象,并以形参传递
Count count = new Count(orders);
}
}
});
btnNewButton.setFont(new Font("宋体", Font.PLAIN, 18));
btnNewButton.setBounds(467, 205, 93, 39);
contentPane_1.add(btnNewButton);
JButton button = new JButton("\u5220 \u9664");
button.addActionListener(new ActionListener() {
// 删除订单表中的菜品选项
public void actionPerformed(ActionEvent e) {
// 获取选中的项
int index = orderTable.getSelectedRow();
if (index == -1) {
JOptionPane.showMessageDialog(MainPage.this, "请选择你要删除的菜",
"提示对话框", JOptionPane.INFORMATION_MESSAGE);
} else {
// 删除选中的项
model2.removeRow(index);
if (index!=0 ) {
totalCount -= menuPrice;
}else {
totalCount=0;
}
textField.setText(String.valueOf(totalCount));
}
}
});
button.setFont(new Font("宋体", Font.PLAIN, 18));
button.setBounds(467, 281, 93, 39);
contentPane_1.add(button);
JButton button_1 = new JButton("\u4FEE \u6539");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
button_1.setFont(new Font("宋体", Font.PLAIN, 18));
button_1.setBounds(467, 350, 93, 39);
contentPane_1.add(button_1);
JButton btnNewButton_1 = new JButton("\u5C0F\u4E8C\uFF0C\u4E0A\u83DC");
btnNewButton_1.addActionListener(new ActionListener() {
// 结账按钮
public void actionPerformed(ActionEvent e) {
// 进入结账页面
Orders orders=new Orders();
Count c= new Count(orders);
c.setVisible(true);
// 关闭本页面
MainPage.this.dispose();
}
});
btnNewButton_1.setFont(new Font("宋体", Font.PLAIN, 20));
btnNewButton_1.setBounds(322, 440, 188, 50);
contentPane_1.add(btnNewButton_1);
JButton button_2 = new JButton(
"\u5BB9\u6211\u4E09\u601D\uFF08\u8FD4\u56DE\uFF09");
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 返回系统登录页面
new Login().setVisible(true);
// 关闭本页面
MainPage.this.dispose();
}
});
button_2.setFont(new Font("宋体", Font.PLAIN, 20));
button_2.setBounds(543, 440, 193, 50);
contentPane_1.add(button_2);
JLabel lblNewLabel_1 = new JLabel("\u5DF2\u9009\u91D1\u989D");
lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 18));
lblNewLabel_1.setBounds(467, 98, 93, 32);
contentPane_1.add(lblNewLabel_1);
textField = new JTextField();
textField.setBounds(467, 140, 93, 32);
contentPane_1.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(42, 448, 132, 39);
contentPane_1.add(textField_1);
textField_1.setColumns(10);
JButton btnNewButton_2 = new JButton("\u641C\u7D22");
btnNewButton_2.addActionListener(new ActionListener() {
//搜索功能
public void actionPerformed(ActionEvent e) {
//调用模糊查询函数
String menuName= textField_1.getText();
if (menuName!="") {
selectLikeInfo(menuName);
}else {
JOptionPane.showMessageDialog(MainPage.this,"抱歉,没有此类菜品","友情提示",1);
}
}
});
btnNewButton_2.setFont(new Font("宋体", Font.PLAIN, 16));
btnNewButton_2.setBounds(184, 447, 72, 39);
contentPane_1.add(bt