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

📄 mainwindow.java

📁 swing+jdbc+sqlserver2000的小型网吧系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		}
		Object[] columnName={"机器号码","会员卡号","会员名称","上机时间","已过时间","已消费金额","卡号金额","当前余额"};
		TableModel tableModel=new DefaultTableModel(cells,columnName);
		return tableModel;
	}

	/**
	 * This method initializes txtSouth	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtSouth() {
		if (txtSouth == null) {
			txtSouth = new JTextField();
			txtSouth.setHorizontalAlignment(JTextField.RIGHT);
			txtSouth.setEditable(false);
			txtSouth.setBackground(SystemColor.controlLtHighlight);
		}
		return txtSouth;
	}

	/**
	 * This method initializes mitBooking	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitBooking() {
		if (mitBooking == null) {
			mitBooking = new JMenuItem();
			mitBooking.setText("登记");
			mitBooking.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					PCWindow pc=new PCWindow();
					pc.getJFrame().setVisible(true);
				}
			});
		}
		return mitBooking;
	}

	/**
	 * This method initializes mnuQuery	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getMnuQuery() {
		if (mnuQuery == null) {
			mnuQuery = new JMenu();
			mnuQuery.setText("查询记录");
			mnuQuery.add(getMitCustomerInfo());
			mnuQuery.add(getMitAddRecord());
			mnuQuery.addSeparator();
			mnuQuery.add(getMitPCBooking());
			mnuQuery.add(getMitConsumeInfo());
			mnuQuery.addSeparator();
			mnuQuery.add(getMitForceOffLine());
		}
		return mnuQuery;
	}

	/**
	 * This method initializes mitCustomerInfo	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitCustomerInfo() {
		if (mitCustomerInfo == null) {
			mitCustomerInfo = new JMenuItem();
			mitCustomerInfo.setText("会员信息");
			mitCustomerInfo.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					QueryCustomerWin qcw=new QueryCustomerWin();
					qcw.getJFrame().setVisible(true);
				}
			});
		}
		return mitCustomerInfo;
	}

	/**
	 * This method initializes mitAddRecord	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitAddRecord() {
		if (mitAddRecord == null) {
			mitAddRecord = new JMenuItem();
			mitAddRecord.setText("冲值情况");
			mitAddRecord.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					QueryAddMoneyWin qamw=new QueryAddMoneyWin();
					qamw.getJFrame().setVisible(true);
				}
			});
		}
		return mitAddRecord;
	}

	/**
	 * This method initializes mitPCBooking	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitPCBooking() {
		if (mitPCBooking == null) {
			mitPCBooking = new JMenuItem();
			mitPCBooking.setText("机器信息");
			mitPCBooking.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					QueryPCWin qpcw=new QueryPCWin();
					qpcw.getJFrame().setVisible(true);
				}
			});
		}
		return mitPCBooking;
	}

	/**
	 * This method initializes mitForceOffLine	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitForceOffLine() {
		if (mitForceOffLine == null) {
			mitForceOffLine = new JMenuItem();
			mitForceOffLine.setText("强制下机");
			mitForceOffLine.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					ForceOffLineWin folWin=new ForceOffLineWin();
					folWin.getJFrame().setVisible(true);
				}
			});
		}
		return mitForceOffLine;
	}

	/**
	 * This method initializes mitConsumeInfo	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitConsumeInfo() {
		if (mitConsumeInfo == null) {
			mitConsumeInfo = new JMenuItem();
			mitConsumeInfo.setText("消费历史");
			mitConsumeInfo.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					QueryConsumeWin qcw=new QueryConsumeWin();
					qcw.getJFrame().setVisible(true);
				}
			});
		}
		return mitConsumeInfo;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				MainWindow application = new MainWindow();
				application.getJFrame().setVisible(true);
			}
		});
	}

	/**
	 * This method initializes jFrame
	 * 
	 * @return javax.swing.JFrame
	 */
	JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
			jFrame.setBounds(new Rectangle(80, 80, 834, 572));
			jFrame.setJMenuBar(getJJMenuBar());
			jFrame.setContentPane(getJPanel1());
			jFrame.setTitle("网吧计费管理系统");
			jFrame.addWindowListener(new java.awt.event.WindowAdapter() {   
				public void windowClosing(java.awt.event.WindowEvent e) {
					int answer=JOptionPane.showConfirmDialog(jFrame,"确定退出吗?","退出提示",JOptionPane.YES_NO_OPTION);
					if(answer==0) //选择了'是'则退出
						System.exit(0);
				}   
				public void windowOpened(java.awt.event.WindowEvent e) {    
					consumeMonitor conMon=new consumeMonitor();
					conMon.setPriority(6); //优先级略高于其它动态显示时间的线程
					conMon.start();
				}
			
			});
		}
		return jFrame;
	}

	/**
	 * This method initializes jJMenuBar	
	 * 	
	 * @return javax.swing.JMenuBar	
	 */
	private JMenuBar getJJMenuBar() {
		if (jJMenuBar == null) {
			jJMenuBar = new JMenuBar();
			jJMenuBar.add(getMnuCustomer());
			jJMenuBar.add(getMnuOperator());
			jJMenuBar.add(getMnuQuery());
			jJMenuBar.add(getMnuAbout());
		}
		return jJMenuBar;
	}

	/**
	 * This method initializes jMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getMnuAbout() {
		if (mnuAbout == null) {
			mnuAbout = new JMenu();
			mnuAbout.setText("关于");
			mnuAbout.add(getMitVersion());
			mnuAbout.add(getMnuExit());
		}
		return mnuAbout;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMnuExit() {
		if (mnuExit == null) {
			mnuExit = new JMenuItem();
			mnuExit.setText("退出");
			mnuExit.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					int answer=JOptionPane.showConfirmDialog(jFrame,"确定退出吗?","退出提示",JOptionPane.YES_NO_OPTION);
					if(answer==0) //选择了'是'则退出
						System.exit(0);
				}
			});
		}
		return mnuExit;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getMitVersion() {
		if (mitVersion == null) {
			mitVersion = new JMenuItem();
			mitVersion.setText("版本");
			mitVersion.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					JDialog aboutDialog = getAboutDialog();
					aboutDialog.pack();
					Point loc = getJFrame().getLocation();
					loc.translate(20, 20);
					aboutDialog.setLocation(loc);
					aboutDialog.setVisible(true);
				}
			});
		}
		return mitVersion;
	}

	/**
	 * This method initializes aboutDialog	
	 * 	
	 * @return javax.swing.JDialog
	 */
	private JDialog getAboutDialog() {
		if (aboutDialog == null) {
			aboutDialog = new JDialog(getJFrame(), true);
			aboutDialog.setTitle("关于");
			aboutDialog.setPreferredSize(new Dimension(300, 200));
			aboutDialog.setBounds(new Rectangle(0, 0, 336, 171));
			aboutDialog.setContentPane(getJPanel());
		}
		return aboutDialog;
	}
	
	public void run()
	{
		while(true)
		{
			try {
				sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			txtSouth.setText("当前日期与时间:"+CurrentTime.getChinaZoneTime()+"        ");
		}
	}
	
	private class consumeMonitor extends Thread
	{//内部类
		public void run()
		{
			while(true)
			{
				try {
					sleep(1000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				for(int i=0;i<jTable.getRowCount();i++)
				{
					String cusCardNum=(String)jTable.getValueAt(i, 1);
					if(!(cusCardNum==null))
					{//即时扣费写在此处即可
						IConsumeDomain coDomain=new ConsumeDomainImpl();
						ConsumeBean coBean=new ConsumeBean();
						String conPCNum=(String)jTable.getValueAt(i, 0);
						String conCardNum=(String)jTable.getValueAt(i, 1);
						String conName=(String)jTable.getValueAt(i, 2);
						String startTime=(String)jTable.getValueAt(i, 3);
						String endTime=CurrentTime.getCurTime();
						double conMoney=CalcTime.getOnUseMinute(startTime, endTime);
						jTable.setValueAt(conMoney, i, 5);
						double cusBalance=(Double.parseDouble(String.valueOf(jTable.getValueAt(i, 6))))-conMoney;
						
						coBean.setConPCNum(conPCNum);
						coBean.setConCardNum(conCardNum);
						coBean.setConName(conName);
						coBean.setConStartTime(startTime);
						//coBean.setConEndTime(endTime);
						coBean.setConMoney(String.valueOf(conMoney));
						coBean.setConCurrentBalance(String.valueOf(cusBalance));
						
						ICustomerDomain cDomain=new CustomerDomainImpl();
						CustomerBean cBean=new CustomerBean();
						
						if(cusBalance<=0.0)
						{//剩余金额小于0则强制下机 [更新机器状态和会员状态及会员金额(设置为0即可)]
							IPCDomain pcDomain=new PCDomainImpl();
							pcDomain.updatePCState("0", (String)jTable.getValueAt(i, 0));
							//更新会员卡号金额及状态
							cBean.setCusBalance("0.0"); //String.valueOf(cusBalance)
							cBean.setCusCardNum(cusCardNum);
							cDomain.updateBalance(cBean);
							cDomain.updateCardState("0", cusCardNum);
							
							//更新consume消费表中下机时间和消费金额的字段(startTime、pcNum两个字段成组合键)
							coBean.setConEndTime(endTime); //真下机
							coBean.setConCurrentBalance("0.0"); //置0
							coDomain.update(coBean);
							
							//写入(或追回)ForceOffLineWin's jTextArea中
							String strInfo="会员 ["+jTable.getValueAt(i, 2)+"] 的余额不足,系统已强制其下机!"+"[发生在:"+ endTime+"]\n";
							ForceOffLineWin.getJTextArea().append(strInfo);
							
							//重置jTable相应行中各列的内容为null
							for(int j=1;j<jTable.getColumnCount();j++)
								jTable.setValueAt(null, i, j);
						}
						else
						{//继续显示
							jTable.setValueAt(cusBalance, i, 7);
							jTable.setValueAt(CalcTime.dispDiffTime(), i, 4); //在调用dispDiffTime之前必须先调用getOnUseMinute,以初始相关数据
							
							//即时更新会员表中的卡号金额
							cBean.setCusBalance(String.valueOf(cusBalance));
							cBean.setCusCardNum(cusCardNum);
							cDomain.updateBalance(cBean);
							
							//更新消费表,但结束时间为空(假下机)
							coBean.setConEndTime("");
							coDomain.update(coBean);
						}
					}
				}
			}
		}
	}
}

⌨️ 快捷键说明

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