⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paymentwindow.java

📁 swing+jdbc+sqlserver2000的小型网吧系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.itstar.netbar.swing;

import org.itstar.netbar.utils.CalcTime;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Event;
import java.awt.BorderLayout;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.KeyStroke;
import java.awt.Point;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JFrame;
import javax.swing.JDialog;
import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.JButton;
import java.awt.Font;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.swing.JComboBox;
import javax.swing.JTextField;

import org.itstar.netbar.bean.ConsumeBean;
import org.itstar.netbar.bean.CustomerBean;
import org.itstar.netbar.bean.PCBean;
import org.itstar.netbar.domain.IConsumeDomain;
import org.itstar.netbar.domain.ICustomerDomain;
import org.itstar.netbar.domain.IPCDomain;
import org.itstar.netbar.domain.impl.ConsumeDomainImpl;
import org.itstar.netbar.domain.impl.CustomerDomainImpl;
import org.itstar.netbar.domain.impl.PCDomainImpl;
import org.itstar.netbar.utils.CurrentTime;

public class PaymentWindow extends Thread
{

	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="10,10"

	private JPanel jContentPane = null;

	private JLabel jLabel = null;

	private JLabel jLabel1 = null;

	private JLabel jLabel2 = null;

	private JLabel jLabel3 = null;

	private JLabel jLabel4 = null;

	private JLabel jLabel5 = null;

	private JButton btnOK = null;

	private JButton btnCancel = null;

	private JLabel jLabel6 = null;

	private JLabel jLabel7 = null;

	private JComboBox cboPCNum = null;

	private JTextField txtCardNum = null;

	private JTextField txtStartTime = null;

	private JTextField txtEndTime = null;

	private JTextField txtName = null;

	private JTextField txtCusBalance = null;

	private JTextField txtConMoney = null;

	private JTextField txtRemainSum = null;

	/**
	 * This method initializes btnOK	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnOK() {
		if (btnOK == null) {
			btnOK = new JButton();
			btnOK.setFont(new Font("Dialog", Font.BOLD, 13));
			btnOK.setLocation(new Point(49, 379));
			btnOK.setSize(new Dimension(75, 28));
			btnOK.setText("确 认");
			btnOK.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(cboPCNum.getItemCount()>1&&!cboPCNum.getSelectedItem().equals("请选择..."))
					{//1.进行结帐操作  2.结帐号将相应机器从此列表框中删除
					 //3.并更新pc表相应机器的状态为0
						if(txtEndTime.getText().equals(""))
						{//下机时间为空,不进行结帐操作
							System.out.println("wait for moment!");
						}
						else
						{
							String pcNum=(String)cboPCNum.getSelectedItem();
							String onTime=txtStartTime.getText();
							String offTime=txtEndTime.getText();
							double conMoney=CalcTime.getOnUseMinute(onTime, offTime);
							txtConMoney.setText(String.valueOf(conMoney));
							
							//更新消费表consume中的记录
							IConsumeDomain coDomain=new ConsumeDomainImpl();
							ConsumeBean coBean=new ConsumeBean();
							coBean.setConPCNum((String)cboPCNum.getSelectedItem());
							coBean.setConCardNum(txtCardNum.getText());
							coBean.setConName(txtName.getText());
							coBean.setConStartTime(txtStartTime.getText());
							coBean.setConEndTime(txtEndTime.getText());
							coBean.setConMoney(txtConMoney.getText());
							coBean.setConCurrentBalance(txtRemainSum.getText());
							coDomain.update(coBean);
							
							//更新相应的卡号状态
							ICustomerDomain cDomain=new CustomerDomainImpl();
							cDomain.updateCardState("0", txtCardNum.getText()); //下机后此会员处于0状态
							//和相应会员的金额
							CustomerBean cBean=new CustomerBean();
							cBean.setCusBalance(txtRemainSum.getText());
							cBean.setCusCardNum(txtCardNum.getText());
							cDomain.updateBalance(cBean);
							//更新机器状态
							IPCDomain pcDomain=new PCDomainImpl();
							pcDomain.updatePCState("0", (String)cboPCNum.getSelectedItem());
							
							//删除table表中相关行的信息
							int i=0;
							for(;i<MainWindow.jTable.getRowCount();i++)
								if(MainWindow.jTable.getValueAt(i,0).equals(pcNum))
									break;
							for(int j=1;j<MainWindow.jTable.getColumnCount();j++)
								MainWindow.jTable.setValueAt(null, i, j); //相关单元格重置
							
							JOptionPane.showMessageDialog(jFrame, "当前机器 "+pcNum+" 下机成功!\n消费了 "+txtConMoney.getText()+" 元!");
							
							//从cboPCNum列表项中减去相应机器号码
							cboPCNum.removeItem(pcNum);
							if(cboPCNum.getItemCount()<=1)
							{
								txtCardNum.setText("");
								txtName.setText("");
								txtStartTime.setText("");
								txtCusBalance.setText("");
								txtConMoney.setText("");
								txtRemainSum.setText("");
							}
						}
					}
				}
			});
		}
		return btnOK;
	}

	/**
	 * This method initializes btnCancel	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnCancel() {
		if (btnCancel == null) {
			btnCancel = new JButton();
			btnCancel.setFont(new Font("Dialog", Font.BOLD, 13));
			btnCancel.setLocation(new Point(153, 379));
			btnCancel.setSize(new Dimension(75, 28));
			btnCancel.setText("取 消");
			btnCancel.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					jFrame.dispose();
				}
			});
		}
		return btnCancel;
	}

	/**
	 * This method initializes cboPCNum	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getCboPCNum() {
		if (cboPCNum == null) {
			cboPCNum = new JComboBox();
			cboPCNum.setFont(new Font("Dialog", Font.BOLD, 13));
			cboPCNum.addItem("请选择...");
			cboPCNum.setSize(new Dimension(115, 30));
			cboPCNum.setLocation(new Point(135, 28));
			cboPCNum.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(cboPCNum.getItemCount()>1&&!cboPCNum.getSelectedItem().equals("请选择..."))
					{//在table表中查找与cboPCNum的值相同的记录的行数
						int i=0,cnt=MainWindow.jTable.getRowCount();
						String pcNum=(String)cboPCNum.getSelectedItem();
						for(;i<cnt;i++)
							if(MainWindow.jTable.getValueAt(i, 0).equals(pcNum))
								break;
						//得到会员卡号,会员名称,上机时间,卡号金额
						txtCardNum.setText(String.valueOf(MainWindow.jTable.getValueAt(i, 1)));
						txtName.setText(String.valueOf(MainWindow.jTable.getValueAt(i, 2)));
						txtStartTime.setText(String.valueOf(MainWindow.jTable.getValueAt(i, 3)));
						txtCusBalance.setText(String.valueOf(MainWindow.jTable.getValueAt(i, 6)));
					}
					else if(cboPCNum.getSelectedItem().equals("请选择..."))
					{
						txtCardNum.setText("");
						txtName.setText("");
						txtStartTime.setText("");
						txtCusBalance.setText("");
						txtConMoney.setText("");
						txtRemainSum.setText("");
					}
					
				}
			});
		}
		return cboPCNum;
	}

	/**
	 * This method initializes txtCardNum	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtCardNum() {
		if (txtCardNum == null) {
			txtCardNum = new JTextField();
			txtCardNum.setFont(new Font("Dialog", Font.PLAIN, 13));
			txtCardNum.setSize(new Dimension(100, 25));
			txtCardNum.setEditable(false);
			txtCardNum.setLocation(new Point(138, 74));
		}
		return txtCardNum;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -