?? paymentwindow.java
字號:
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("確 認(rèn)");
btnOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(cboPCNum.getItemCount()>1&&!cboPCNum.getSelectedItem().equals("請選擇..."))
{//1.進(jìn)行結(jié)帳操作 2.結(jié)帳號將相應(yīng)機(jī)器從此列表框中刪除
//3.并更新pc表相應(yīng)機(jī)器的狀態(tài)為0
if(txtEndTime.getText().equals(""))
{//下機(jī)時間為空,不進(jìn)行結(jié)帳操作
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);
//更新相應(yīng)的卡號狀態(tài)
ICustomerDomain cDomain=new CustomerDomainImpl();
cDomain.updateCardState("0", txtCardNum.getText()); //下機(jī)后此會員處于0狀態(tài)
//和相應(yīng)會員的金額
CustomerBean cBean=new CustomerBean();
cBean.setCusBalance(txtRemainSum.getText());
cBean.setCusCardNum(txtCardNum.getText());
cDomain.updateBalance(cBean);
//更新機(jī)器狀態(tài)
IPCDomain pcDomain=new PCDomainImpl();
pcDomain.updatePCState("0", (String)cboPCNum.getSelectedItem());
//刪除table表中相關(guān)行的信息
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); //相關(guān)單元格重置
JOptionPane.showMessageDialog(jFrame, "當(dāng)前機(jī)器 "+pcNum+" 下機(jī)成功!\n消費了 "+txtConMoney.getText()+" 元!");
//從cboPCNum列表項中減去相應(yīng)機(jī)器號碼
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的值相同的記錄的行數(shù)
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;
//得到會員卡號,會員名稱,上機(jī)時間,卡號金額
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;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -