?? setonlinewindow.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()) //顯示動態(tài)的線程如果開著,則關(guān)閉
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狀態(tài)設(shè)置為1(表示:使用中)
cboPCNum.removeItemAt(cboPCNum.getSelectedIndex()); //刪除當前pc編號
//對當前上機會員進行操作
ICustomerDomain cDomain=new CustomerDomainImpl();
String cardNum=(String)cboCardNum.getSelectedItem();
cDomain.updateCardState("1",cardNum); //更新此會員的卡號狀態(tài)為1
cDomain.updateCardLastLoginTime(startTime, cardNum); //以當前時間更新會員的最后登錄時間
cboCardNum.removeItemAt(cboCardNum.getSelectedIndex());
//先循環(huán)得到機器所在行,然后在相應(yīng)行中添加記錄
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;
//將機器狀態(tài)為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());
}
//查詢會員信息并顯示相關(guān)字段
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("結(jié)束時間");
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 + -