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

📄 setonlinewindow.java

📁 swing+jdbc+sqlserver2000的小型网吧系统
💻 JAVA
字号:
package org.itstar.netbar.swing;
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;
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.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.JComboBox;
import javax.swing.JTextField;
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.JOptionPane;
import javax.swing.JButton;

public class SetOnlineWindow 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 JLabel jLabel6 = null;

	private JComboBox cboPCNum = null;

	private JComboBox cboCardNum = null;

	private JTextField txtName = null;

	private JTextField txtStartTime = null;

	private JTextField txtEndTime = null;

	private JTextField txtConsumeMoney = null;

	private JTextField txtCurrentBalance = null;

	private JButton btnOK = null;

	private JButton btnCancel = null;
	

	/**
	 * 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.setSize(new Dimension(120, 28));
			cboPCNum.setPreferredSize(new Dimension(30, 27));
			cboPCNum.setLocation(new Point(147, 24));
			cboPCNum.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
				}
			});
		}
		return cboPCNum;
	}

	/**
	 * This method initializes cboCardNum	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getCboCardNum() {
		if (cboCardNum == null) {
			cboCardNum = new JComboBox();
			cboCardNum.setFont(new Font("Dialog", Font.BOLD, 13));
			cboCardNum.setSize(new Dimension(120, 28));
			cboCardNum.setPreferredSize(new Dimension(30, 27));
			cboCardNum.setLocation(new Point(147, 68));
			cboCardNum.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					Map map=new HashMap();
					map.put("cusCardNum", cboCardNum.getSelectedItem());
					ICustomerDomain cDomain=new CustomerDomainImpl();
					List list=new ArrayList();
					list=cDomain.query(map);
					Iterator it=list.iterator();
					CustomerBean cBean=new CustomerBean();
					cBean=(CustomerBean)it.next();
					txtName.setText(cBean.getCusName());
					txtCurrentBalance.setText(cBean.getCusBalance());
				}
			});
		}
		return cboCardNum;
	}

	/**
	 * This method initializes txtName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtName() {
		if (txtName == null) {
			txtName = new JTextField();
			txtName.setEditable(false);
			txtName.setLocation(new Point(147, 112));
			txtName.setSize(new Dimension(110, 28));
			txtName.setFont(new Font("Dialog", Font.PLAIN, 13));
		}
		return txtName;
	}

	/**
	 * This method initializes txtStartTime	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtStartTime() {
		if (txtStartTime == null) {
			txtStartTime = new JTextField();
			txtStartTime.setFont(new Font("Dialog", Font.PLAIN, 13));
			txtStartTime.setSize(new Dimension(120, 28));
			txtStartTime.setEditable(false);
			txtStartTime.setLocation(new Point(147, 160));
		}
		return txtStartTime;
	}

	/**
	 * This method initializes txtEndTime	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtEndTime() {
		if (txtEndTime == null) {
			txtEndTime = new JTextField();
			txtEndTime.setEditable(false);
			txtEndTime.setLocation(new Point(147, 328));
			txtEndTime.setSize(new Dimension(120, 28));
			txtEndTime.setFont(new Font("Dialog", Font.PLAIN, 13));
		}
		return txtEndTime;
	}

	/**
	 * This method initializes txtConsumeMoney	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtConsumeMoney() {
		if (txtConsumeMoney == null) {
			txtConsumeMoney = new JTextField();
			txtConsumeMoney.setEditable(false);
			txtConsumeMoney.setLocation(new Point(147, 376));
			txtConsumeMoney.setSize(new Dimension(110, 28));
			txtConsumeMoney.setFont(new Font("Dialog", Font.PLAIN, 13));
		}
		return txtConsumeMoney;
	}

	/**
	 * This method initializes txtCurrentBalance	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtCurrentBalance() {
		if (txtCurrentBalance == null) {
			txtCurrentBalance = new JTextField();
			txtCurrentBalance.setText(""); //初始为空
			txtCurrentBalance.setEditable(false);
			txtCurrentBalance.setLocation(new Point(147, 210));
			txtCurrentBalance.setSize(new Dimension(110, 28));
			txtCurrentBalance.setFont(new Font("Dialog", Font.PLAIN, 13));
		}
		return txtCurrentBalance;
	}

	/**
	 * This method initializes btnOK	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnOK() {
		if (btnOK == null) {
			btnOK = new JButton();
			btnOK.setText("确 定");
			btnOK.setSize(new Dimension(80, 32));
			btnOK.setLocation(new Point(59, 261));
			btnOK.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(txtCurrentBalance.getText().equals("")||Double.parseDouble(txtCurrentBalance.getText())<=0.0)
					{
						JOptionPane.showMessageDialog(jFrame, "此会员卡余额不足,不允许上机!\n"); // "余额不足提醒", JOptionPane.WARNING_MESSAGE);
					}
					else
					{
						if(cboCardNum.getItemCount()<=0||cboPCNum.getItemCount()<=0)
						{
							txtName.setText("");
							if(getThisFrame().isAlive()) //显示动态的线程如果开着,则关闭
								getThisFrame().stop();
							txtStartTime.setText("");
							txtCurrentBalance.setText("");
						}
						else if(cboPCNum.getItemCount()>0&&cboCardNum.getItemCount()>0&&!txtStartTime.getText().equals(""))
						{
							String cusName=txtName.getText();
							String startTime=txtStartTime.getText();
							String balance=txtCurrentBalance.getText();
							//对当前机器进行操作
							IPCDomain pcDomain=new PCDomainImpl();
							String pcNum=(String)cboPCNum.getSelectedItem();
							pcDomain.updatePCState("1", pcNum); //将pc状态设置为1(表示:使用中)
							cboPCNum.removeItemAt(cboPCNum.getSelectedIndex()); //删除当前pc编号
							
							//对当前上机会员进行操作
							ICustomerDomain cDomain=new CustomerDomainImpl();
							String cardNum=(String)cboCardNum.getSelectedItem();
							cDomain.updateCardState("1",cardNum); //更新此会员的卡号状态为1
							cDomain.updateCardLastLoginTime(startTime, cardNum); //以当前时间更新会员的最后登录时间
							cboCardNum.removeItemAt(cboCardNum.getSelectedIndex());
							
							//先循环得到机器所在行,然后在相应行中添加记录
							int i=0,cnt=MainWindow.jTable.getRowCount();
							for(i=0;i<cnt;i++)
							{//找到相匹配记录的下标
								if(MainWindow.jTable.getValueAt(i, 0).equals(pcNum))
									break;
							}
							MainWindow.jTable.setValueAt(cardNum, i, 1);
							MainWindow.jTable.setValueAt(cusName,i,2);
							MainWindow.jTable.setValueAt(startTime,i,3);
	//						MainWindow.jTable.setValueAt(cusName,i,4);
	//						MainWindow.jTable.setValueAt(cusName,i,5);
							MainWindow.jTable.setValueAt(balance,i,6);
							
							//写入到消费表consume中
							ConsumeBean coBean=new ConsumeBean();
							IConsumeDomain coDomain=new ConsumeDomainImpl();
							coBean.setConPCNum(pcNum);
							coBean.setConCardNum(cardNum);
							coBean.setConName(cusName);
							coBean.setConStartTime(startTime);
							coBean.setConEndTime("");
							coBean.setConMoney("");
							coBean.setConCurrentBalance(balance); 
							coDomain.insert(coBean);
						}
					}
				}
			});
		}
		return btnOK;
	}

	/**
	 * This method initializes btnCancel	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnCancel() {
		if (btnCancel == null) {
			btnCancel = new JButton();
			btnCancel.setText("取消");
			btnCancel.setSize(new Dimension(80, 32));
			btnCancel.setLocation(new Point(165, 261));
			btnCancel.addActionListener(new java.awt.event.ActionListener() {   
				public void actionPerformed(java.awt.event.ActionEvent e) {
					getJFrame().dispose();
				}
			
			});
		}
		return btnCancel;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成方法存根
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				SetOnlineWindow application = new SetOnlineWindow();
				application.getJFrame().setVisible(true);
			}
		});
	}

	/**
	 * This method initializes jFrame
	 * 
	 * @return javax.swing.JFrame
	 */
	public JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
			jFrame.setAlwaysOnTop(true);
			jFrame.setSize(330, 341);
			jFrame.setLocation(new Point(300, 180));
			jFrame.setContentPane(getJContentPane());
			jFrame.setTitle("上机");
			jFrame.addWindowListener(new java.awt.event.WindowAdapter() {
				public void windowOpened(java.awt.event.WindowEvent e) {
					Map map=new HashMap();
					List list=new ArrayList();
					Iterator it=null;

					//将机器状态为0[闲置]的机器编号逐个添加至cboPCNum列表框中
					map.put("pcState", "0");
					PCBean pcBean=new PCBean();
					IPCDomain pcDomain=new PCDomainImpl();
					list=pcDomain.query(map);
					it=list.iterator();
					while(it.hasNext())
					{
						pcBean=(PCBean)it.next();
						cboPCNum.addItem(pcBean.getPcNum());
					}
					
					//查询会员信息并显示相关字段
					map.put("cusCardState", "0");
					CustomerBean cBean=new CustomerBean();
					ICustomerDomain cDomain=new CustomerDomainImpl();
					list=cDomain.query(map);
					it=list.iterator();
					while(it.hasNext())
					{
						cBean=(CustomerBean)it.next();
						cboCardNum.addItem(cBean.getCusCardNum());
					}
					
					if(cboCardNum.getItemCount()<=0||cboPCNum.getItemCount()<=0)
					{
						getThisFrame().stop();
						txtStartTime.setText("");
					}
				}
			});
		}
		return jFrame;
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel6 = new JLabel();
			jLabel6.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel6.setLocation(new Point(62, 211));
			jLabel6.setSize(new Dimension(70, 25));
			jLabel6.setText("卡号余额");
			jLabel5 = new JLabel();
			jLabel5.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel5.setLocation(new Point(62, 376));
			jLabel5.setSize(new Dimension(70, 25));
			jLabel5.setText("消费金额");
			jLabel4 = new JLabel();
			jLabel4.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel4.setLocation(new Point(62, 331));
			jLabel4.setSize(new Dimension(70, 25));
			jLabel4.setText("结束时间");
			jLabel3 = new JLabel();
			jLabel3.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel3.setLocation(new Point(62, 160));
			jLabel3.setSize(new Dimension(70, 25));
			jLabel3.setText("上机时间");
			jLabel2 = new JLabel();
			jLabel2.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel2.setLocation(new Point(62, 115));
			jLabel2.setSize(new Dimension(70, 25));
			jLabel2.setText("会员名称");
			jLabel1 = new JLabel();
			jLabel1.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel1.setLocation(new Point(62, 70));
			jLabel1.setSize(new Dimension(70, 25));
			jLabel1.setText("会员卡号");
			jLabel = new JLabel();
			jLabel.setFont(new Font("Dialog", Font.BOLD, 13));
			jLabel.setLocation(new Point(62, 25));
			jLabel.setSize(new Dimension(70, 25));
			jLabel.setText("机器编号");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(jLabel, null);
			jContentPane.add(jLabel1, null);
			jContentPane.add(jLabel2, null);
			jContentPane.add(jLabel3, null);
			jContentPane.add(jLabel4, null);
			jContentPane.add(jLabel5, null);
			jContentPane.add(jLabel6, null);
			jContentPane.add(getCboPCNum(), null);
			jContentPane.add(getCboCardNum(), null);
			jContentPane.add(getTxtName(), null);
			jContentPane.add(getTxtStartTime(), null);
			jContentPane.add(getTxtEndTime(), null);
			jContentPane.add(getTxtConsumeMoney(), null);
			jContentPane.add(getTxtCurrentBalance(), null);
			jContentPane.add(getBtnOK(), null);
			jContentPane.add(getBtnCancel(), null);
		}
		return jContentPane;
	}
	
	public void run()
	{
		while(true)
		{
			try {
				sleep(1000);
			} catch (InterruptedException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			txtStartTime.setText(CurrentTime.getCurTime());
		}
	}
	
	private SetOnlineWindow getThisFrame()
	{
		return this;
	}

}

⌨️ 快捷键说明

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