亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tipwizardframe.java

?? 采用java實現的灑店管理系統
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
package com.mwq.frame;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.URL;
import java.util.Calendar;
import java.util.Date;
import java.util.Vector;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;

import com.mwq.dao.Dao;
import com.mwq.frame.check_out.DayDialog;
import com.mwq.frame.check_out.MonthDialog;
import com.mwq.frame.check_out.YearDialog;
import com.mwq.frame.manage.DeskNumDialog;
import com.mwq.frame.manage.MenuDialog;
import com.mwq.frame.manage.SortDialog;
import com.mwq.frame.user.UpdatePasswordDialog;
import com.mwq.frame.user.UserManagerDialog;
import com.mwq.mwing.MButton;
import com.mwq.mwing.MTable;
import com.mwq.tool.Today;
import com.mwq.tool.Validate;

public class TipWizardFrame extends JFrame {

	private JLabel timeLabel;

	private JTextField amountTextField;

	private JTextField unitTextField;

	private JTextField nameTextField;

	private JTextField codeTextField;

	private JComboBox numComboBox;

	private JTextField changeTextField;

	private JTextField realWagesTextField;

	private JTextField expenditureTextField;

	private ButtonGroup buttonGroup = new ButtonGroup();

	private MTable rightTable;

	private Vector<String> rightTableColumnV;

	private Vector<Vector<Object>> rightTableValueV;

	private DefaultTableModel rightTableModel;

	private MTable leftTable;

	private Vector<String> leftTableColumnV;

	private Vector<Vector<Object>> leftTableValueV;

	private DefaultTableModel leftTableModel;

	private Vector<Vector<Vector<Object>>> menuOfDeskV;

	private Dimension screenSize;

	private final Dao dao = Dao.getInstance();

	/**
	 * Launch the application
	 * 
	 * @param args
	 */
	public static void main(String args[]) {
		try {
			TipWizardFrame frame = new TipWizardFrame(null);
			frame.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Create the frame
	 */
	public TipWizardFrame(final Vector user) {
		super();
		setTitle(" T 科技");
		setResizable(false);
		setBounds(0, 0, 1024, 768);
		setExtendedState(TipWizardFrame.MAXIMIZED_BOTH);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		screenSize = Toolkit.getDefaultToolkit().getScreenSize();

		final JLabel topLabel = new JLabel();
		topLabel.setPreferredSize(new Dimension(0, 100));
		topLabel.setHorizontalAlignment(SwingConstants.CENTER);
		URL topUrl = this.getClass().getResource("/img/top.jpg");
		ImageIcon topIcon = new ImageIcon(topUrl);
		topLabel.setIcon(topIcon);
		getContentPane().add(topLabel, BorderLayout.NORTH);

		final JSplitPane splitPane = new JSplitPane();// 創建分割面版對象
		splitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);// 設置為水平分割
		splitPane.setDividerLocation(755);// 設置面版默認的分割位置
		splitPane.setDividerSize(10);// 設置分割條的寬度
		splitPane.setOneTouchExpandable(true);// 設置為支持快速展開/折疊分割條
		splitPane.setBorder(new TitledBorder(null, "",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));// 設置面版的邊框
		getContentPane().add(splitPane, BorderLayout.CENTER);// 將分割面版添加到上級容器中

		final JPanel leftPanel = new JPanel();// 創建放于分割面版左側的普通面版對象
		leftPanel.setLayout(new BorderLayout());// 設置面板的布局管理器
		splitPane.setLeftComponent(leftPanel);// 將普通面版對象添加到分割面版的左側

		final JLabel leftTitleLabel = new JLabel();
		leftTitleLabel.setFont(new Font("", Font.BOLD, 14));
		leftTitleLabel.setPreferredSize(new Dimension(0, 25));
		leftTitleLabel.setText(" 簽單列表:");
		leftPanel.add(leftTitleLabel, BorderLayout.NORTH);

		final JScrollPane leftScrollPane = new JScrollPane();
		leftPanel.add(leftScrollPane);

		menuOfDeskV = new Vector<Vector<Vector<Object>>>();

		leftTableColumnV = new Vector<String>();
		String leftTableColumns[] = { "  ", "序    號", "商品編號", "商品名稱", "單    位",
				"數    量", "單    價", "金    額" };
		for (int i = 0; i < leftTableColumns.length; i++) {
			leftTableColumnV.add(leftTableColumns[i]);
		}

		leftTableValueV = new Vector<Vector<Object>>();

		leftTableModel = new DefaultTableModel(leftTableValueV,
				leftTableColumnV);
		leftTableModel.addTableModelListener(new TableModelListener() {
			public void tableChanged(TableModelEvent e) {// 通過表格模型監聽器實現自動結賬
				int rowCount = leftTable.getRowCount();// 獲得簽單列表中的行數
				float expenditure = 0.0f;// 默認消費 0 元
				for (int row = 0; row < rowCount; row++) {// 通過循環計算消費金額
					expenditure += Float.valueOf(leftTable.getValueAt(row, 7)
							.toString());// 累加消費金額
				}
				expenditureTextField.setText(expenditure + "0");// 更新“消費金額”文本框
			}
		});

		leftTable = new MTable(leftTableModel);
		leftScrollPane.setViewportView(leftTable);

		final JPanel rightPanel = new JPanel();// 創建放于分割面版右側的普通面版對象
		rightPanel.setLayout(new BorderLayout());
		splitPane.setRightComponent(rightPanel);// 將普通面版對象添加到分割面版的右側

		final JLabel rightTitleLabel = new JLabel();
		rightTitleLabel.setFont(new Font("", Font.BOLD, 14));
		rightTitleLabel.setPreferredSize(new Dimension(0, 25));
		rightTitleLabel.setText(" 開臺列表:");
		rightPanel.add(rightTitleLabel, BorderLayout.NORTH);

		final JScrollPane rightScrollPane = new JScrollPane();
		rightPanel.add(rightScrollPane);

		rightTableColumnV = new Vector<String>();
		rightTableColumnV.add("序    號");
		rightTableColumnV.add("臺    號");
		rightTableColumnV.add("開臺時間");

		rightTableValueV = new Vector<Vector<Object>>();

		rightTableModel = new DefaultTableModel(rightTableValueV,
				rightTableColumnV);

		rightTable = new MTable(rightTableModel);
		rightTable.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				int rSelectedRow = rightTable.getSelectedRow();// 獲得“開臺列表”中的選中行
				leftTableValueV.removeAllElements();// 清空“簽單列表”中的所有行
				leftTableValueV.addAll(menuOfDeskV.get(rSelectedRow));// 將選中臺號的簽單列表添加到“簽單列表”中
				leftTableModel.setDataVector(leftTableValueV, leftTableColumnV);// 刷新“簽單列表”
				leftTable.setRowSelectionInterval(0);// 選中“簽單列表”中的第一行
				numComboBox.setSelectedItem(rightTable.getValueAt(rSelectedRow,
						1));// 同步選中“臺號”下拉菜單中的相應臺號
			}
		});
		rightScrollPane.setViewportView(rightTable);

		final JPanel bottomPanel = new JPanel();
		bottomPanel.setPreferredSize(new Dimension(0, 230));
		bottomPanel.setLayout(new BorderLayout());
		getContentPane().add(bottomPanel, BorderLayout.SOUTH);

		final JPanel orderDishesPanel = new JPanel();
		orderDishesPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
		bottomPanel.add(orderDishesPanel, BorderLayout.NORTH);

		final JLabel numLabel = new JLabel();
		numLabel.setFont(new Font("", Font.BOLD, 12));
		numLabel.setText("臺號:");
		orderDishesPanel.add(numLabel);

		numComboBox = new JComboBox();
		numComboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int rowCount = rightTable.getRowCount();// 獲得開臺列表中的行數,即已開臺數
				if (rowCount > 0) {// 已經有開臺
					String selectedDeskNum = numComboBox.getSelectedItem()
							.toString();// 獲得“臺號”下拉菜單中選中的臺號
					int needSelectedRow = -1;// 默認選中的臺號未開臺
					opened: for (int row = 0; row < rowCount; row++) {// 通過循環查看選中的臺號是否已經開臺
						String openedDeskNum = rightTable.getValueAt(row, 1)
								.toString();// 獲得已開臺的臺號
						if (selectedDeskNum.equals(openedDeskNum)) {// 查看選中的臺號是否已經開臺
							needSelectedRow = row;// 選中的臺號已經開臺
							break opened;// 跳出循環
						}
					}
					if (needSelectedRow == -1) {// 選中的臺號尚未開臺,即新開臺
						rightTable.clearSelection();// 取消選擇“開臺列表”中的選中行
						leftTableValueV.removeAllElements();// 清空“簽單列表”中的所有行
						leftTableModel.setDataVector(leftTableValueV,
								leftTableColumnV);// 刷新“簽單列表”
					} else {// 選中的臺號已經開臺,即添加菜品
						if (needSelectedRow != rightTable.getSelectedRow()) {
							// “臺號”下拉菜單中選中的臺號在“開臺列表”中未被選中
							rightTable.setRowSelectionInterval(needSelectedRow);// 在“開臺列表”中選中該臺號
							leftTableValueV.removeAllElements();// 清空“簽單列表”中的所有行
							leftTableValueV.addAll(menuOfDeskV
									.get(needSelectedRow));// 將選中臺號的簽單列表添加到“簽單列表”中
							leftTableModel.setDataVector(leftTableValueV,
									leftTableColumnV);// 刷新“簽單列表”
							leftTable.setRowSelectionInterval(0);// 選中“簽單列表”中的第一行
						}
					}
				}
			}
		});
		initNumComboBox();
		orderDishesPanel.add(numComboBox);

		final JPanel panel = new JPanel();
		panel.setLayout(new GridBagLayout());
		orderDishesPanel.add(panel);

		final JLabel codeALabel = new JLabel();
		codeALabel.setFont(new Font("", Font.BOLD, 12));
		codeALabel.setText("  商品(");
		final GridBagConstraints gridBagConstraints = new GridBagConstraints();
		gridBagConstraints.gridy = 0;
		gridBagConstraints.gridx = 0;
		panel.add(codeALabel, gridBagConstraints);

		final JRadioButton numRadioButton = new JRadioButton();
		numRadioButton.setFont(new Font("", Font.BOLD, 12));
		buttonGroup.add(numRadioButton);
		numRadioButton.setText("編號");
		final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();
		gridBagConstraints_1.gridy = 0;
		gridBagConstraints_1.gridx = 1;
		panel.add(numRadioButton, gridBagConstraints_1);

		final JLabel codeBLabel = new JLabel();
		codeBLabel.setFont(new Font("", Font.BOLD, 12));
		codeBLabel.setText("/");
		final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints();
		gridBagConstraints_2.gridy = 0;
		gridBagConstraints_2.gridx = 2;
		panel.add(codeBLabel, gridBagConstraints_2);

		final JRadioButton codeRadioButton = new JRadioButton();
		codeRadioButton.setFont(new Font("", Font.BOLD, 12));
		buttonGroup.add(codeRadioButton);
		codeRadioButton.setSelected(true);
		codeRadioButton.setText("助記碼");
		final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints();
		gridBagConstraints_3.gridy = 0;
		gridBagConstraints_3.gridx = 3;
		panel.add(codeRadioButton, gridBagConstraints_3);

		final JLabel codeCLabel = new JLabel();
		codeCLabel.setText("):");
		final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints();
		gridBagConstraints_4.gridy = 0;
		gridBagConstraints_4.gridx = 4;
		panel.add(codeCLabel, gridBagConstraints_4);

		codeTextField = new JTextField();
		codeTextField.addKeyListener(new KeyAdapter() {

			public void keyTyped(KeyEvent e) {
				if (e.getKeyChar() == ' ')// 判斷用戶輸入的是否為空格
					e.consume();// 如果是空格則銷毀此次按鍵事件
			}

			public void keyReleased(KeyEvent e) {// 通過鍵盤監聽器實現智能獲取菜品
				if (e.getKeyCode() == KeyEvent.VK_ENTER) {// 按下回車鍵
					makeOutAnInvoice();// 開單
				} else {
					String input = codeTextField.getText().trim();// 獲得輸入內容
					Vector vector = null;// 符合條件的菜品集合
					if (input.length() > 0) {// 輸入內容不為空
						if (codeRadioButton.isSelected()) {// 按助記碼查詢
							vector = dao.sMenuByCode(input);// 查詢符合條件的菜品
							if (vector.size() > 0)// 存在符合條件的菜品
								vector = (Vector) vector.get(0);// 獲得第一個符合條件的菜品
							else
								// 不存在符合條件的菜品
								vector = null;
						} else {// 按編號查詢
							vector = dao.sMenuById(input);// 查詢符合條件的菜品
							if (vector.size() > 0)// 存在符合條件的菜品
								vector = (Vector) vector.get(0);// 獲得第一個符合條件的菜品
							else
								// 不存在符合條件的菜品
								vector = null;
						}
					}
					if (vector == null) {// 不存在符合條件的菜品
						nameTextField.setText(null);// 設置“商品名稱”文本框為空
						unitTextField.setText(null);// 設置“單位”文本框為空
					} else {// 存在符合條件的菜品
						nameTextField.setText(vector.get(3).toString());// 設置“商品名稱”文本框為符合條件的菜品名稱

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产片| 日本一区二区三区四区在线视频| 精品噜噜噜噜久久久久久久久试看 | 久久精品欧美一区二区三区不卡 | 蜜臀av一区二区在线免费观看| 国产精品亚洲综合一区在线观看| 粉嫩av亚洲一区二区图片| 欧美老肥妇做.爰bbww| 中文欧美字幕免费| 日本在线观看不卡视频| 91一区二区在线观看| 亚洲精品一区二区三区香蕉| 亚洲精品福利视频网站| 不卡一卡二卡三乱码免费网站| 精品欧美黑人一区二区三区| 亚洲五月六月丁香激情| 色香蕉成人二区免费| 国产精品天天摸av网| 久久丁香综合五月国产三级网站| 欧美在线观看禁18| 国产精品美女久久久久高潮| 国产经典欧美精品| 精品国产在天天线2019| 日本午夜一本久久久综合| 欧美三级在线播放| 亚洲一二三四区| 日本久久电影网| 亚洲综合男人的天堂| 色欧美日韩亚洲| 亚洲欧美成aⅴ人在线观看| www.综合网.com| 国产精品久久久一区麻豆最新章节| 久久99久国产精品黄毛片色诱| 欧美日韩免费不卡视频一区二区三区| 中文字幕一区免费在线观看| 成人a级免费电影| 国产精品国产三级国产aⅴ入口 | 亚洲成人资源网| 欧美日韩一区二区三区视频| 亚洲制服丝袜一区| 欧美四级电影网| 日韩精品电影在线| 91精品国产色综合久久不卡电影| 天堂在线亚洲视频| 日韩亚洲欧美在线| 国产一区二区三区av电影 | 3atv在线一区二区三区| 天天综合色天天综合| 欧美v日韩v国产v| 国产一区二区三区高清播放| 国产精品乱人伦| 色av成人天堂桃色av| 五月婷婷综合激情| 日韩免费成人网| 韩国一区二区视频| 国产精品九色蝌蚪自拍| 欧美剧情电影在线观看完整版免费励志电影 | 国模无码大尺度一区二区三区| 久久久久青草大香线综合精品| 成人高清在线视频| 亚洲精品成人天堂一二三| 欧美丰满美乳xxx高潮www| 热久久国产精品| 欧美激情一区二区三区蜜桃视频 | 成人国产精品视频| 一二三区精品视频| 欧美电影免费观看高清完整版在 | 欧美欧美欧美欧美首页| 国产一区三区三区| 一区二区三区在线免费视频| 欧美成人精品福利| 91啪亚洲精品| 国产乱妇无码大片在线观看| 亚洲欧美一区二区三区极速播放 | 91精品一区二区三区在线观看| 国产激情一区二区三区| 一区二区三区中文在线| 91精品欧美一区二区三区综合在| 国产不卡在线一区| 日本强好片久久久久久aaa| 国产精品久久久久aaaa| 精品88久久久久88久久久| 91一区二区三区在线观看| 激情欧美日韩一区二区| 亚洲小说春色综合另类电影| 国产亚洲1区2区3区| 正在播放一区二区| 99精品视频一区| 精品一区在线看| 亚洲成人777| 亚洲人成人一区二区在线观看 | 一区二区三区 在线观看视频| 久久久久久久久久久黄色| 欧美日韩视频在线第一区 | 国产成人在线视频免费播放| 午夜av一区二区三区| 亚洲精品成人少妇| 欧美中文字幕一区二区三区亚洲| 欧美一级生活片| 美女国产一区二区三区| 日韩一区二区精品在线观看| 精油按摩中文字幕久久| 日韩美女在线视频| 久久99精品久久久久久国产越南 | 国产91丝袜在线播放0| 国产精品99久| 国产精品无人区| 欧美日韩国产一级片| 黄网站免费久久| 久久精品夜夜夜夜久久| 精品成人一区二区| 视频一区二区国产| 成人高清免费观看| 国产精品午夜电影| 欧美日韩高清一区二区三区| 国产精品99久久久| 韩国精品在线观看| 亚洲成人av在线电影| 欧美国产日韩在线观看| 中文字幕一区二区三区在线观看| 午夜精品福利一区二区三区蜜桃| 精品乱人伦小说| 欧美日韩视频在线观看一区二区三区 | 精品奇米国产一区二区三区| 精品免费国产一区二区三区四区| 国产精品美女久久久久久| 天天影视网天天综合色在线播放| 大胆亚洲人体视频| 欧美成人乱码一区二区三区| 亚洲国产中文字幕在线视频综合| 成人性生交大片免费看中文| 精品国产亚洲在线| 亚洲一区二区成人在线观看| 播五月开心婷婷综合| 美女网站色91| 精久久久久久久久久久| 另类小说色综合网站| 奇米色一区二区三区四区| 自拍av一区二区三区| 亚洲成人免费在线| 一级特黄大欧美久久久| 国产电影精品久久禁18| 久久91精品久久久久久秒播| 国产一区二区三区香蕉 | 在线视频欧美区| 日韩亚洲欧美在线观看| 欧美国产精品久久| 亚洲大尺度视频在线观看| 久久99久久精品欧美| 91蜜桃免费观看视频| 日韩一区二区在线观看视频 | 日韩免费电影一区| 国产精品免费观看视频| 三级一区在线视频先锋 | 国产欧美一区二区精品婷婷| **性色生活片久久毛片| 日韩在线观看一区二区| 国产黄色成人av| 制服丝袜成人动漫| 亚洲欧洲日韩在线| 日本亚洲欧美天堂免费| 91丨九色丨蝌蚪富婆spa| 日韩一区二区在线免费观看| 亚洲老妇xxxxxx| 国产麻豆欧美日韩一区| 欧美日韩免费观看一区三区| 国产欧美精品一区二区三区四区| 亚洲国产精品一区二区久久恐怖片 | 日韩黄色片在线观看| 成人午夜私人影院| 日韩精品中午字幕| 亚洲激情在线激情| 国产精品一区免费视频| 日韩三级伦理片妻子的秘密按摩| 亚洲精品成人在线| 成人一道本在线| www国产成人免费观看视频 深夜成人网| 亚洲美女屁股眼交| 国产成人av在线影院| 日韩精品在线一区| 青青草国产精品亚洲专区无| 欧美在线观看视频在线| 国产精品麻豆网站| 成人丝袜18视频在线观看| 欧美精品一区视频| 久久狠狠亚洲综合| 91精品欧美久久久久久动漫| 亚洲一区免费视频| 色先锋久久av资源部| 亚洲欧美色图小说| 91丝袜高跟美女视频| 亚洲日本护士毛茸茸| 成人激情校园春色| 国产精品电影一区二区三区| 波多野结衣欧美| 亚洲国产精品精华液2区45| 国产1区2区3区精品美女| 国产欧美视频在线观看| 成人午夜激情片| 国产精品成人在线观看|