?? mainwindow.java
字號(hào):
}
Object[] columnName={"機(jī)器號(hào)碼","會(huì)員卡號(hào)","會(huì)員名稱","上機(jī)時(shí)間","已過(guò)時(shí)間","已消費(fèi)金額","卡號(hào)金額","當(dāng)前余額"};
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("會(huì)員信息");
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("機(jī)器信息");
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("強(qiáng)制下機(jī)");
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("消費(fèi)歷史");
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("網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)");
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); //優(yōu)先級(jí)略高于其它動(dòng)態(tài)顯示時(shí)間的線程
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("關(guān)于");
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("關(guān)于");
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("當(dāng)前日期與時(shí)間:"+CurrentTime.getChinaZoneTime()+" ");
}
}
private class consumeMonitor extends Thread
{//內(nèi)部類
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))
{//即時(shí)扣費(fèi)寫在此處即可
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則強(qiáng)制下機(jī) [更新機(jī)器狀態(tài)和會(huì)員狀態(tài)及會(huì)員金額(設(shè)置為0即可)]
IPCDomain pcDomain=new PCDomainImpl();
pcDomain.updatePCState("0", (String)jTable.getValueAt(i, 0));
//更新會(huì)員卡號(hào)金額及狀態(tài)
cBean.setCusBalance("0.0"); //String.valueOf(cusBalance)
cBean.setCusCardNum(cusCardNum);
cDomain.updateBalance(cBean);
cDomain.updateCardState("0", cusCardNum);
//更新consume消費(fèi)表中下機(jī)時(shí)間和消費(fèi)金額的字段(startTime、pcNum兩個(gè)字段成組合鍵)
coBean.setConEndTime(endTime); //真下機(jī)
coBean.setConCurrentBalance("0.0"); //置0
coDomain.update(coBean);
//寫入(或追回)ForceOffLineWin's jTextArea中
String strInfo="會(huì)員 ["+jTable.getValueAt(i, 2)+"] 的余額不足,系統(tǒng)已強(qiáng)制其下機(jī)!"+"[發(fā)生在:"+ endTime+"]\n";
ForceOffLineWin.getJTextArea().append(strInfo);
//重置jTable相應(yīng)行中各列的內(nèi)容為null
for(int j=1;j<jTable.getColumnCount();j++)
jTable.setValueAt(null, i, j);
}
else
{//繼續(xù)顯示
jTable.setValueAt(cusBalance, i, 7);
jTable.setValueAt(CalcTime.dispDiffTime(), i, 4); //在調(diào)用dispDiffTime之前必須先調(diào)用getOnUseMinute,以初始相關(guān)數(shù)據(jù)
//即時(shí)更新會(huì)員表中的卡號(hào)金額
cBean.setCusBalance(String.valueOf(cusBalance));
cBean.setCusCardNum(cusCardNum);
cDomain.updateBalance(cBean);
//更新消費(fèi)表,但結(jié)束時(shí)間為空(假下機(jī))
coBean.setConEndTime("");
coDomain.update(coBean);
}
}
}
}
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -