📄 tipwizardframe.java
字号:
deskNumDialog.setVisible(true);
initNumComboBox();
}
});
systemMenu.add(deskItem);
systemMenu.addSeparator();
final JMenuItem sortItem = new JMenuItem("菜系管理");
sortItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
sortItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SortDialog sortDialog = new SortDialog();
sortDialog.setLocation((screenSize.width - sortDialog
.getWidth()) / 2, (screenSize.height - sortDialog
.getHeight()) / 2);
sortDialog.setVisible(true);
}
});
systemMenu.add(sortItem);
systemMenu.addSeparator();
final JMenuItem menuItem = new JMenuItem("菜品管理");
menuItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
MenuDialog menuDialog = new MenuDialog();
menuDialog.setLocation((screenSize.width - menuDialog
.getWidth()) / 2, (screenSize.height - menuDialog
.getHeight()) / 2);
menuDialog.setVisible(true);
}
});
systemMenu.add(menuItem);
popupMenu.addSeparator();
final JMenu sellMenu = new JMenu("销售统计");
sellMenu.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
popupMenu.add(sellMenu);
final JMenuItem dayItem = new JMenuItem("日销售统计");
dayItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
dayItem.addActionListener(new ItemActionListener(DayDialog.class));
sellMenu.add(dayItem);
sellMenu.addSeparator();
final JMenuItem monthItem = new JMenuItem("月销售统计");
monthItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
monthItem.addActionListener(new ItemActionListener(MonthDialog.class));
sellMenu.add(monthItem);
sellMenu.addSeparator();
final JMenuItem yearItem = new JMenuItem("年销售统计");
yearItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
yearItem.addActionListener(new ItemActionListener(YearDialog.class));
sellMenu.add(yearItem);
popupMenu.addSeparator();
final JMenu personnelMenu = new JMenu("人员管理");
personnelMenu.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
popupMenu.add(personnelMenu);
final JMenuItem recordItem = new JMenuItem("档案管理");
recordItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
recordItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
RecordManageDialog recordDialog = new RecordManageDialog();
recordDialog.setLocation((screenSize.width - recordDialog
.getWidth()) / 2, (screenSize.height - recordDialog
.getHeight()) / 2);
recordDialog.setVisible(true);
}
});
personnelMenu.add(recordItem);
personnelMenu.addSeparator();
final JMenuItem managerItem = new JMenuItem("管理员管理");
managerItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
managerItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ManagerManageDialog managerDialog = new ManagerManageDialog();
managerDialog.setLocation((screenSize.width - managerDialog
.getWidth()) / 2, (screenSize.height - managerDialog
.getHeight()) / 2);
managerDialog.setVisible(true);
}
});
personnelMenu.add(managerItem);
popupMenu.addSeparator();
final JMenuItem initSystemItem = new JMenuItem("初始化系统");
initSystemItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
initSystemItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String[] infos = { "警告:初始化后系统数据将全部被删除!", "询问:您确认要对系统进行初始化操作?" };
int i = JOptionPane.showConfirmDialog(TipWizardFrame.this,
infos, "友情提示", JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE);
if (i == 0) {// 初始化
dao.initDatabase();
JOptionPane.showMessageDialog(TipWizardFrame.this,
"初始化完毕!", "友情提示", JOptionPane.INFORMATION_MESSAGE);
// 重新登录
JOptionPane.showMessageDialog(TipWizardFrame.this,
"您需要重新登录本系统!", "友情提示",
JOptionPane.INFORMATION_MESSAGE);
dispose();
try {
Constructor<DrinkeryManage> constructor = DrinkeryManage.class
.getConstructor();
constructor.newInstance();
} catch (SecurityException ex) {
ex.printStackTrace();
} catch (NoSuchMethodException ex) {
ex.printStackTrace();
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (InstantiationException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
} catch (InvocationTargetException ex) {
ex.printStackTrace();
}
}
}
});
popupMenu.add(initSystemItem);
if (managerV != null) {
if (!managerV.get(3).equals("√"))
systemMenu.setEnabled(false);
if (!managerV.get(4).equals("√"))
sellMenu.setEnabled(false);
if (!managerV.get(5).equals("√"))
personnelMenu.setEnabled(false);
if (!managerV.get(6).equals("√"))
initSystemItem.setEnabled(false);
}
}
private class PopupMenuListener extends MouseAdapter {
@Override
public void mouseEntered(MouseEvent e) {// 当光标进入添加该监听器的组件时将被执行
popupMenu.show(e.getComponent(), 0, 0);// 基于触发此次事件的组件显示菜单
}
}
private class ItemActionListener implements ActionListener {
Class<?> dialogC;
public ItemActionListener(Class dialogC) {
this.dialogC = dialogC;
}
public void actionPerformed(ActionEvent e) {
JDialog dialog = null;
try {
Constructor<?> constructor = dialogC.getConstructor();
dialog = (JDialog) constructor.newInstance();
} catch (Exception ex) {
ex.printStackTrace();
}
dialog.setVisible(true);
}
}
private void makeOutAnInvoice() {
String deskNum = numComboBox.getSelectedItem().toString();// 获得台号
String menuName = nameTextField.getText();// 获得商品名称
// 验证
if (deskNum.equals("请选择")) {// 验证是否已经选择台号
JOptionPane.showMessageDialog(TipWizardFrame.this, "请选择台号!",
"友情提示", JOptionPane.INFORMATION_MESSAGE);
numComboBox.requestFocus();
return;
}
if (menuName.length() == 0) {// 验证是否已经确定商品
JOptionPane.showMessageDialog(TipWizardFrame.this, "请确定所点商品!",
"友情提示", JOptionPane.INFORMATION_MESSAGE);
codeTextField.requestFocus();
return;
}
// 处理开台信息
int rightSelectedRow = rightTable.getSelectedRow();// 获得被选中的台号
int leftRowCount = 0;// 默认点菜数量为0
if (rightSelectedRow == -1) {// 没有被选中的台号,即新开台
rightSelectedRow = rightTable.getRowCount();// 被选中的台号为新开的台
Vector deskV = new Vector();// 创建一个代表新开台的向量对象
deskV.add(rightSelectedRow + 1);// 添加开台序号
deskV.add(deskNum);// 添加开台号
deskV.add(new Date().toString().substring(11, 19));// 添加开台时间
rightTableModel.addRow(deskV);// 将开台信息添加到“开台列表”中
rightTable.setRowSelectionInterval(rightSelectedRow);// 选中新开的台
itemOfDeskV.add(new Vector());// 添加一个对应的签单列表
} else { // 选中的台号已经开台,即添加菜品
leftRowCount = leftTable.getRowCount();// 获得已点菜的数量
}
// 处理点菜信息
Vector menuV = dao.sMenuByName(menuName);// 获得被点菜品
int amount = Integer.valueOf(amountTextField.getText());// 将菜品数量转为int型
int unitPrice = Integer.valueOf(menuV.get(5).toString()); // 将菜品单价转为int型
int money = unitPrice * amount;// 计算菜品消费额
Vector<Object> orderDishesV = new Vector<Object>();
orderDishesV.add("NEW");// 添加新点菜标记
orderDishesV.add(leftRowCount + 1);// 添加点菜序号
orderDishesV.add(menuV.get(0));// 添加菜品编号
orderDishesV.add(menuName);// 添加菜品名称
orderDishesV.add(menuV.get(4));// 添加菜品单位
orderDishesV.add(amount);// 添加菜品数量
orderDishesV.add(unitPrice);// 添加菜品单价
orderDishesV.add(money);// 添加菜品消费额
leftTableModel.addRow(orderDishesV);// 将点菜信息添加到“签单列表”中
leftTable.setRowSelectionInterval(leftRowCount);// 将新点菜设置为选中行
itemOfDeskV.get(rightSelectedRow).add(orderDishesV);// 将新点菜信息添加到对应的签单列表
//
codeTextField.setText(null);
nameTextField.setText(null);
unitTextField.setText(null);
priceTextField.setText(null);
amountTextField.setText("1");
}
private String getNum() {
String maxNum = dao.sOrderFormOfMaxId();
String date = Today.getDateOfNum();
if (maxNum == null) {
maxNum = date + "001";
} else {
if (maxNum.subSequence(0, 8).equals(date)) {
maxNum = maxNum.substring(8);
int nextNum = Integer.valueOf(maxNum) + 1;
if (nextNum < 10)
maxNum = date + "00" + nextNum;
else if (nextNum < 100)
maxNum = date + "0" + nextNum;
else
maxNum = date + nextNum;
} else {
maxNum = date + "001";
}
}
return maxNum;
}
private void initNumComboBox() {
numComboBox.removeAllItems();
numComboBox.addItem("请选择");
Vector deskNumV = dao.sDeskNums();
for (int i = 0; i < deskNumV.size(); i++) {
numComboBox.addItem(deskNumV.get(i));
}
}
private void a(JLabel dClueOnLabel) {
Calendar now;
int hour;
int minute;
int second;
while (true) {
now = Calendar.getInstance();
hour = now.get(Calendar.HOUR_OF_DAY);
minute = now.get(Calendar.MINUTE);
second = now.get(Calendar.SECOND);
dClueOnLabel.setText(hour + ":" + minute + ":" + second);
}
}
class Time extends Thread {// 创建用于适时更新时间的线程类
public void run() {// 重构父类的方法
while (true) {
Date date = new Date();// 创建日期对象
timeLabel.setText(date.toString().substring(11, 19));// 获取并更新当前时间
try {
Thread.sleep(1000);// 令线程休眠1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -