?? changepcwin.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 + -