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

📄 changepcwin.java

📁 swing+jdbc+sqlserver2000的小型网吧系统
💻 JAVA
字号:
package org.itstar.netbar.swing;

import javax.swing.SwingUtilities;
import java.awt.Point;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.JComboBox;
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.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;

public class ChangePCWin {

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

	private JPanel jContentPane = null;

	private JLabel jLabel = null;

	private JComboBox cboSrcPC = null;

	private JComboBox cboDestPC = null;

	private JLabel jLabel2 = null;

	private JButton btnOK = null;

	private JButton btnCancel = null;

	private JLabel jLabel3 = null;

	private JTextField txtName = null;

	/**
	 * This method initializes cboSrcPC	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getCboSrcPC() {
		if (cboSrcPC == null) {
			cboSrcPC = new JComboBox();
			cboSrcPC.setBounds(new Rectangle(158, 29, 125, 33));
			cboSrcPC.setFont(new Font("Dialog", Font.BOLD, 13));
			cboSrcPC.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(cboSrcPC.getItemCount()>0)
					{
						int i=0;
						int cnt=MainWindow.jTable.getRowCount();
						for(i=0;i<cnt;i++)
						{
							if(MainWindow.jTable.getValueAt(i, 0).equals(cboSrcPC.getSelectedItem()))
							{
								txtName.setText((String)MainWindow.jTable.getValueAt(i, 2));
								break;
							}
						}
					}
				}
			});
		}
		return cboSrcPC;
	}

	/**
	 * This method initializes cboDestPC	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getCboDestPC() {
		if (cboDestPC == null) {
			cboDestPC = new JComboBox();
			cboDestPC.setFont(new Font("Dialog", Font.BOLD, 13));
			cboDestPC.setSize(new Dimension(125, 33));
			cboDestPC.setLocation(new Point(158, 139));
		}
		return cboDestPC;
	}

	/**
	 * This method initializes btnOK	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnOK() {
		if (btnOK == null) {
			btnOK = new JButton();
			btnOK.setText("确 定");
			btnOK.setSize(new Dimension(80, 30));
			btnOK.setLocation(new Point(56, 203));
			btnOK.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(cboSrcPC.getItemCount()>0&&cboDestPC.getItemCount()>0)
					{
						//先查出源机器和目的机器的编号在table表中的所在行
						int iSrc=0,iDest=0,i=0;
						String srcPCNum=(String)cboSrcPC.getSelectedItem();
						String destPCNum=(String)cboDestPC.getSelectedItem();
						for(i=0;i<MainWindow.jTable.getRowCount();i++)
						{
							if(MainWindow.jTable.getValueAt(i, 0).equals(srcPCNum))
								iSrc=i;
							else if(MainWindow.jTable.getValueAt(i, 0).equals(destPCNum))
								iDest=i;
						}
						//在table表中交换记录
						for(i=1;i<8;i++) //7表示consume表的字段个数
						{
							MainWindow.jTable.setValueAt(MainWindow.jTable.getValueAt(iSrc, i),iDest, i);
							MainWindow.jTable.setValueAt(null,iSrc,i); //相关单元格重置
						}
						
						//即时更新cboSrcPC和cboDestPC的item项
						cboSrcPC.removeItem(srcPCNum);
						cboSrcPC.addItem(destPCNum);
						cboDestPC.removeItem(destPCNum);
						cboDestPC.addItem(srcPCNum);
						
						//在消费表中更新数据(机器编号字段)
						IConsumeDomain CoDomain=new ConsumeDomainImpl();
						String startTime=(String)MainWindow.jTable.getValueAt(iDest, 3);
						// get destPCNum (已在此事件中第三行获取!) //再加上源机器编号保证消费记录唯一
						CoDomain.updateChangePC(startTime, destPCNum, srcPCNum); 
						
						//在机器表中更新数据(状态字段)
						IPCDomain pcDomain=new PCDomainImpl();
						pcDomain.updatePCState("0", srcPCNum);
						pcDomain.updatePCState("1", destPCNum);
					}
				}
			});
		}
		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, 30));
			btnCancel.setLocation(new Point(167, 203));
			btnCancel.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					jFrame.dispose();
				}
			});
		}
		return btnCancel;
	}

	/**
	 * This method initializes txtName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtName() {
		if (txtName == null) {
			txtName = new JTextField();
			txtName.setEditable(false);
			txtName.setLocation(new Point(158, 86));
			txtName.setSize(new Dimension(128, 32));
		}
		return txtName;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成方法存根
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ChangePCWin application = new ChangePCWin();
				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(328, 291);
			jFrame.setLocation(new Point(300, 200));
			jFrame.setContentPane(getJContentPane());
			jFrame.setTitle("机器更换");
			jFrame.addWindowListener(new java.awt.event.WindowAdapter() {
				public void windowOpened(java.awt.event.WindowEvent e) {
					List list=new ArrayList();
					Iterator it=null;
					IPCDomain pcDomain=new PCDomainImpl();
					PCBean pcBean=new PCBean();
					Map map=new HashMap();
					
					//源机器
					map.put("pcState", 1); //状态为1表示正在使用
					list=pcDomain.query(map);
					it=list.iterator();
					while(it.hasNext())
					{
						pcBean=(PCBean)it.next();
						cboSrcPC.addItem(pcBean.getPcNum());
					}
					
					//目的机器
					map.put("pcState", 0); //状态为0表示还未使用
					list=pcDomain.query(map);
					it=list.iterator();
					while(it.hasNext())
					{
						pcBean=(PCBean)it.next();
						cboDestPC.addItem(pcBean.getPcNum());
					}
				}
			});
		}
		return jFrame;
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel3 = new JLabel();
			jLabel3.setText("会员名称");
			jLabel3.setSize(new Dimension(100, 25));
			jLabel3.setFont(new Font("Dialog", Font.BOLD, 14));
			jLabel3.setLocation(new Point(35, 88));
			jLabel2 = new JLabel();
			jLabel2.setText("换至目的机器编号");
			jLabel2.setSize(new Dimension(120, 25));
			jLabel2.setFont(new Font("Dialog", Font.BOLD, 14));
			jLabel2.setLocation(new Point(30, 142));
			jLabel = new JLabel();
			jLabel.setText("从源机器编号");
			jLabel.setSize(new Dimension(120, 25));
			jLabel.setFont(new Font("Dialog", Font.BOLD, 14));
			jLabel.setLocation(new Point(30, 31));
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(jLabel, null);
			jContentPane.add(getCboSrcPC(), null);
			jContentPane.add(getCboDestPC(), null);
			jContentPane.add(jLabel2, null);
			jContentPane.add(getBtnOK(), null);
			jContentPane.add(getBtnCancel(), null);
			jContentPane.add(jLabel3, null);
			jContentPane.add(getTxtName(), null);
		}
		return jContentPane;
	}

}

⌨️ 快捷键说明

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