📄 tipwizardframe.java
字号:
changeTextField.setForeground(new Color(255, 0, 255));
changeTextField.setFont(new Font("", Font.BOLD, 15));
changeTextField.setEditable(false);
changeTextField.setColumns(7);
final GridBagConstraints gridBagConstraints_12 = new GridBagConstraints();
gridBagConstraints_12.insets = new Insets(10, 0, 0, 0);
gridBagConstraints_12.gridy = 3;
gridBagConstraints_12.gridx = 1;
checkOutPanel.add(changeTextField, gridBagConstraints_12);
final JLabel changeUnitLabel = new JLabel();
changeUnitLabel.setForeground(new Color(255, 0, 255));
changeUnitLabel.setFont(new Font("", Font.BOLD, 15));
changeUnitLabel.setText(" 元");
final GridBagConstraints gridBagConstraints_16 = new GridBagConstraints();
gridBagConstraints_16.insets = new Insets(10, 0, 0, 0);
gridBagConstraints_16.gridy = 3;
gridBagConstraints_16.gridx = 2;
checkOutPanel.add(changeUnitLabel, gridBagConstraints_16);
final JLabel aLineLabel = new JLabel();
aLineLabel.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_vl.png")));
functionPanel.add(aLineLabel);
final JPanel buttonPanel = new JPanel();
buttonPanel.setPreferredSize(new Dimension(230, 150));
functionPanel.add(buttonPanel);
final JPanel orderDishesButtonPanel = new JPanel();
orderDishesButtonPanel.setLayout(new GridLayout(0, 1));
buttonPanel.add(orderDishesButtonPanel);
final JButton addButton = new MButton();
addButton.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_add.png")));
addButton.setRolloverIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_add_on.png")));
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
makeOutAnInvoice();
codeTextField.requestFocus();
}
});
orderDishesButtonPanel.add(addButton);
final JButton subButton = new MButton();// 创建按钮
subButton.setIcon(new ImageIcon(getClass().getResource(
"/img/main_sub.png")));// 按钮默认时显示的图片
subButton.setRolloverIcon(new ImageIcon(getClass().getResource(
"/img/main_sub_on.png")));// 光标移入时显示的图片
subButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int selectedRow = rightTable.getSelectedRow();// 获得“开台列表”中的选中行
if (selectedRow < 0) {// 未选中任何行
JOptionPane.showMessageDialog(null, "请选择要签单的台号!", "友情提示",
JOptionPane.INFORMATION_MESSAGE);
return;
} else {
int lastRowIndex = leftTable.getRowCount() - 1;// 获得最后一个消费项目的索引
Object lastRowSign = leftTable.getValueAt(lastRowIndex, 0);// 获得最后一个消费项目的标记
if (lastRowSign.equals("NEW")) {// 为未签单项目
Object firstRowSign = leftTable.getValueAt(0, 0);// 获得第一个消费项目的标记
if (firstRowSign.equals("NEW")) {// 为未签单项目,即为新开台签单
for (int row = lastRowIndex; row >= 0; row--) {
leftTable.setValueAt("", row, 0);// 签单
}
} else {// 为已签单项目,即为新添加菜品签单
for (int row = lastRowIndex; row >= 0; row--) {
if (leftTable.getValueAt(row, 0).equals("NEW"))// 为未签单项目
leftTable.setValueAt("", row, 0);// 签单
else
// 为已签单项目,即为新添加菜品签单完成
break;
}
}
}
}
}
});
orderDishesButtonPanel.add(subButton);
final JButton delButton = new MButton();// 创建按钮
delButton.setIcon(new ImageIcon(getClass().getResource(
"/img/main_del.png")));// 按钮默认时显示的图片
delButton.setRolloverIcon(new ImageIcon(getClass().getResource(
"/img/main_del_on.png")));// 光标移入时显示的图片
delButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int leftSelectedRow = leftTable.getSelectedRow();// 获得“签单列表”中的选中行,即要取消的消费项目
if (leftSelectedRow < 0) {// 未选中任何行
JOptionPane.showMessageDialog(null, "请选择要取消的商品!", "友情提示",
JOptionPane.INFORMATION_MESSAGE);// 弹出提示
return;
}
if (leftTable.getValueAt(leftSelectedRow, 0).equals("")) {// 已签单商品不允许取消
JOptionPane.showMessageDialog(null, "很抱歉,该商品已经不能取消!",
"友情提示", JOptionPane.INFORMATION_MESSAGE);// 弹出提示
return;
}
int rightSelectedRow = rightTable.getSelectedRow();// 获得“开台列表”中的选中行,即要取消菜品的餐台
int i = JOptionPane.showConfirmDialog(null, "确定要取消“"
+ rightTable.getValueAt(rightSelectedRow, 1) + "”中的商品“"
+ leftTable.getValueAt(leftSelectedRow, 3) + "”?",
"友情提示", JOptionPane.YES_NO_OPTION);// 弹出提示信息确认是否取消
if (i == 0) {// 确认取消
Vector<Vector<Object>> itemV = itemOfDeskV
.get(rightSelectedRow);// 获得消费项目列表
itemV.remove(leftSelectedRow);// 取消指定消费项目
int rowCount = itemV.size();// 获得取消后的消费项目数量
if (rowCount == 0) {// 没有任何消费项目
leftTableModel.setDataVector(null, leftTableColumnV);// 清空“签单列表”
rightTableModel.removeRow(rightSelectedRow);// 取消开台
itemOfDeskV.remove(rightSelectedRow);// 移除消费项目列表
} else {
if (leftSelectedRow == rowCount) {// 取消项目为最后一个
leftSelectedRow -= 1;// 设置前一个项目被选中
} else {// 取消项目不是最后一个
for (int row = leftSelectedRow; row < rowCount; row++) {// 修改项目序号
itemV.get(row).set(1, row + 1);
}
}
leftTableModel.setDataVector(itemV, leftTableColumnV);// 刷新表格数据模型
leftTable.setRowSelectionInterval(leftSelectedRow);// 设置后一个项目被选中
}
}
}
});
orderDishesButtonPanel.add(delButton);
final JPanel safetyButtonPanel = new JPanel();
safetyButtonPanel.setLayout(new GridLayout(0, 1));
buttonPanel.add(safetyButtonPanel);
final JButton returnButton = new MButton();
returnButton.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_return.png")));
returnButton.setRolloverIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_return_on.png")));
returnButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String managerName = TipWizardFrame.this.managerV.get(1)
.toString();
HandoverDialog handoverDialog = new HandoverDialog(
TipWizardFrame.this);
handoverDialog.setLocation((screenSize.width - handoverDialog
.getWidth()) / 2, (screenSize.height - handoverDialog
.getHeight()) / 2);
handoverDialog.setVisible(true);
if (!TipWizardFrame.this.managerV.get(1).toString().equals(
managerName))
initPopupMenu();
}
});
safetyButtonPanel.add(returnButton);
final JToggleButton lockToggleButton = new JToggleButton();// 创建按钮对象
lockToggleButton.setIcon(new ImageIcon(getClass().getResource(
"/img/main_lock_false.png")));// 默认时显示的图片
lockToggleButton.setRolloverIcon(new ImageIcon(getClass().getResource(
"/img/main_lock_on.png")));// 光标移入时显示的图片
lockToggleButton.setSelectedIcon(new ImageIcon(getClass().getResource(
"/img/main_lock_true.png")));// 选中时显示的图片
lockToggleButton.setRolloverSelectedIcon(new ImageIcon(getClass()
.getResource("/img/main_lock_on.png")));// 光标移入时显示的图片
lockToggleButton.setFocusPainted(false);// 不绘制激活框
lockToggleButton.setBorderPainted(false);// 不绘制边框
lockToggleButton.setContentAreaFilled(false);// 不填充
lockToggleButton.setMargin(new Insets(0, 0, 0, 0));// 设置边距
lockToggleButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (lockToggleButton.isSelected()) {// 按钮已被选中(按下状态)
codeTextField.setEnabled(false);// 设置“助记码”文本框为不可用
amountTextField.setEnabled(false);// 设置“数量”文本框为不可用
realWagesTextField.setEnabled(false);// 设置“实收金额”文本框为不可用
checkOutButton.setEnabled(false);// 设置“结账”按钮为不可用
addButton.setEnabled(false);// 设置“开单”按钮为不可用
subButton.setEnabled(false);// 设置“签单”按钮为不可用
delButton.setEnabled(false);// 设置“取消”按钮为不可用
returnButton.setEnabled(false);// 设置“交接班”按钮为不可用
menuLabel.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_menu_false.png")));// 修改为不可用状态时的图片
menuLabel.removeMouseListener(popupMenuListener);// 移除菜单的鼠标事件监听器
} else {// 按钮未被选中(弹起状态)
String password = JOptionPane.showInputDialog(null, "密码:",
"解除锁定", JOptionPane.INFORMATION_MESSAGE);// 弹出输入框接受登录密码
if (password != null
&& TipWizardFrame.this.managerV.get(2).toString()
.equals(password)) {
codeTextField.setEnabled(true);// 设置“助记码”文本框为可用
amountTextField.setEnabled(true);// 设置“数量”文本框为可用
realWagesTextField.setEnabled(true);// 设置“实收金额”文本框为可用
checkOutButton.setEnabled(true);// 设置“结账”按钮为可用
addButton.setEnabled(true);// 设置“开单”按钮为可用
subButton.setEnabled(true);// 设置“签单”按钮为可用
delButton.setEnabled(true);// 设置“取消”按钮为可用
returnButton.setEnabled(true);// 设置“交接班”按钮为可用
menuLabel.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/main_menu_true.png")));// 修改为可用状态时的图片
menuLabel.addMouseListener(popupMenuListener);// 移除菜单的鼠标事件监听器
} else {
lockToggleButton.setSelected(true);// 设置按钮为被选中(按下状态)
}
}
}
});
safetyButtonPanel.add(lockToggleButton);
final JButton exitButton = new MButton();// 创建按钮对象
exitButton.setIcon(new ImageIcon(getClass().getResource(
"/img/main_exit.png")));// 默认时显示的图片
exitButton.setRolloverIcon(new ImageIcon(getClass().getResource(
"/img/main_exit_on.png")));// 光标移入时显示的图片
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (rightTable.getRowCount() > 0) // 查看是否有正在消费的餐台
JOptionPane.showMessageDialog(null, "还有未结账的餐台,当前不能退出系统!",
"友情提示", JOptionPane.WARNING_MESSAGE); // 弹出提示
else
System.exit(0); // 退出系统
}
});
safetyButtonPanel.add(exitButton);
final JLabel bLineLabel = new JLabel();
bLineLabel.setIcon(new ImageIcon(getClass().getResource(
"/img/main_vl.png")));
functionPanel.add(bLineLabel);
final JPanel clueOnPanel = new JPanel();
clueOnPanel.setPreferredSize(new Dimension(170, 150));
clueOnPanel.setLayout(new GridLayout(0, 1));
functionPanel.add(clueOnPanel);
final JLabel dateLabel = new JLabel();
dateLabel.setFont(new Font("", Font.BOLD, 12));
dateLabel.setHorizontalAlignment(SwingConstants.CENTER);
dateLabel.setText(Today.getDateOfShow());
clueOnPanel.add(dateLabel);
final JLabel weekLabel = new JLabel();
weekLabel.setFont(new Font("", Font.BOLD, 12));
weekLabel.setHorizontalAlignment(SwingConstants.CENTER);
weekLabel.setText(Today.getDayOfWeek());
clueOnPanel.add(weekLabel);
timeLabel = new JLabel();// 创建用于显示时间的标签
timeLabel.setFont(new Font("宋体", Font.BOLD, 14));// 设置标签文本为宋体、粗体、14号
timeLabel.setForeground(new Color(255, 0, 0));// 设置标签文本为红色
timeLabel.setHorizontalAlignment(SwingConstants.CENTER);// 设置标签文本居中显示
clueOnPanel.add(timeLabel);
new Time().start();// 开启线程
operatorLabel = new JLabel();
operatorLabel.setFont(new Font("", Font.BOLD, 12));
clueOnPanel.add(operatorLabel);
operatorLabel.setHorizontalAlignment(SwingConstants.CENTER);
if (managerV == null)
operatorLabel.setText("系统默认用户");
else
operatorLabel.setText("操作员:" + managerV.get(1).toString());
initPopupMenu();// 初始化菜单
menuLabel = new JLabel();// 创建标签
menuLabel.setIcon(new ImageIcon(getClass().getResource(
"/img/main_menu_true.png")));// 显示可用状态时的图片
popupMenuListener = new PopupMenuListener();// 创建鼠标事件监听器对象
menuLabel.addMouseListener(popupMenuListener);// 为标签添加鼠标事件监听器
operatePanel.add(menuLabel, BorderLayout.EAST);
//
}
public void initPopupMenu() {
popupMenu = new JPopupMenu();
final JMenuItem passwordItem = new JMenuItem("修改密码");
passwordItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
passwordItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
UpdatePasswordDialog upDialog = new UpdatePasswordDialog();
upDialog.setLocation(
(screenSize.width - upDialog.getWidth()) / 2,
(screenSize.height - upDialog.getHeight()) / 2);
upDialog.setManagerV(managerV);
upDialog.setVisible(true);
}
});
popupMenu.add(passwordItem);
popupMenu.addSeparator();
final JMenu systemMenu = new JMenu("系统维护");
systemMenu.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
popupMenu.add(systemMenu);
final JMenuItem deskItem = new JMenuItem("台号管理");
deskItem.setIcon(new ImageIcon(TipWizardFrame.class
.getResource("/img/tab.png")));
deskItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
DeskNumDialog deskNumDialog = new DeskNumDialog(rightTable);
deskNumDialog.setLocation((screenSize.width - deskNumDialog
.getWidth()) / 2, (screenSize.height - deskNumDialog
.getHeight()) / 2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -