?? frmsfsj.java
字號:
}
countSFGY++;
}//end else
tempSFY = strSFY;
}//end while
//添加最末一行的合計
//取得最末一行
TableItem itemGYNUM = new TableItem(tblSFGY,0);
itemGYNUM.setText(new String[]{
String.valueOf(countSFGY),"合計"});
//計算各列的和
double XJNUM = 0;
double ZPNUM = 0;
String tempXJNUM = "";
String tempZPNUM = "";
for(int m = 1;m < countSFGY;m++)
{
tempXJNUM = tblSFGY.getItem(m-1).getText(2);
tempZPNUM = tblSFGY.getItem(m-1).getText(3);
if(tempXJNUM != "")
{
XJNUM = XJNUM + Double.parseDouble(tempXJNUM);
}
if(tempZPNUM != "")
{
ZPNUM = ZPNUM + Double.parseDouble(tempZPNUM);
}
}
//格式化字符串:如果求得的和是.0就替換成空字符串
String tempXJFormat = "";
String tempZPFormat = "";
TableItem itemNUM1 = tblSFGY.getItem(tblSFGY.getItemCount()-1);
if (strDF.format(XJNUM).equals(".0"))//strDF.format(XJNUM)是.0就格式化成""
{
tempXJFormat = "";
}
else
{
tempXJFormat = strDF.format(XJNUM);
}
if (strDF.format(ZPNUM).equals(".0"))//strDF.format(ZPNUM)是.0就格式化成""
{
tempZPFormat = "";
}
else
{
tempZPFormat = strDF.format(ZPNUM);
}
itemNUM1.setText(2,tempXJFormat);
itemNUM1.setText(3,tempZPFormat);
}//end else
}//end try
catch(Exception e)
{
System.out.println(e.getMessage());
}
}//end getSFGYData
//-----------顯示收費員上交費用的詳細信息-----------//
/**
* 方法名: getSFXXData
* 編寫者: 冉勇
* 功 能: 取得收費員上交費用的詳細信息(收費詳細SFXX)
* 輸入參數:收費員ID和上交時間,沒上交則為"2079-6-6"
* 輸出參數:上交費用的詳細信息
* 備 注:
*/
public void getSFXXData(String strSFY,String strSubmitTimetemp)
{
try
{
int temp = db.getSFXX(strSFY,strSubmitTimetemp);
if(temp == 0)
{
MessageBox msBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
msBox.setText(" 錯誤");
msBox.setMessage("數據庫查詢出錯");
msBox.open();
return;
}
else
{
int countSFXX=1;
while(db.prs.next())
{
//向表添加內容
TableItem itemSFXX = new TableItem(tblSFXX,0);
itemSFXX.setText(new String[]{
String.valueOf(countSFXX),
db.prs.getString("JFRQ"),
db.prs.getString("BRXM"),
//格式化數據
strDF.format(Double.parseDouble(db.prs.getString("JE"))),
db.prs.getString("ZYH"),
db.prs.getString("JFXS")
});
countSFXX++;
}//end while
//添加最末一行的合計
//取得最末一行
TableItem itemXXNUM = new TableItem(tblSFXX,0);
itemXXNUM.setText(new String[]{
String.valueOf(countSFXX),"合計"});
//計算各列的和
double JENUM = 0;
String tempJENUM = "";
for(int n = 1;n < countSFXX;n++)
{
tempJENUM = tblSFXX.getItem(n-1).getText(3);
if(tempJENUM != "") //如果為空會拋出異常
{
JENUM = JENUM + Double.parseDouble(tempJENUM);
}
}
//格式化數據
//System.out.println(strDF.format(JENUM));
TableItem itemNUM2 = tblSFXX.getItem(tblSFXX.getItemCount()-1);
itemNUM2.setText(3,strDF.format(JENUM));
}//end else
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}//end getSFXXData
//-------------裝label button 的composite-----------//
/**
* 方法名: createComposite
* 編寫者: 冉勇
* 功 能: 創建裝label button 的composite
* 輸入參數:
* 輸出參數:裝label button 的composite
* 備 注:
*/
public void createComposite()
{
//創建composite
comSHELL=new Composite(shell,SWT.SHADOW_ETCHED_IN);
//設置composite顯示格式
GridData griddataCom=new GridData(GridData.FILL_HORIZONTAL);
griddataCom.horizontalSpan=3;
griddataCom.horizontalAlignment=GridData.BEGINNING;
comSHELL.setLayoutData(griddataCom);
//設置composite布局
GridLayout gridlayoutCom = new GridLayout();
gridlayoutCom.numColumns = 7;
comSHELL.setLayout(gridlayoutCom);
//添加各組件到composite
lblJSSJ= new Label(comSHELL,SWT.None);
lblJSSJ.setText("本次上交時間:");
GridData griddataLLblJSSJ=new GridData(GridData.FILL_HORIZONTAL);
griddataLLblJSSJ.widthHint = 130;
lblJSSJ.setLayoutData(griddataLLblJSSJ);
lblJSSJ.setAlignment(SWT.CENTER);
lblJSSJ.setForeground(colGreen);
//添加comJSSJ,裝時間文本框和時間下拉框,雙擊文本框顯示下拉框
comJSSJ=new Composite(comSHELL,SWT.SHADOW_ETCHED_IN);
GridData griddataComJSSJ=new GridData(GridData.FILL_HORIZONTAL);
griddataComJSSJ.widthHint = 125;
comJSSJ.setLayoutData(griddataComJSSJ);
//運用堆棧式布局
final StackLayout stacklayoutCom = new StackLayout();
comJSSJ.setLayout(stacklayoutCom);
//時間文本框
txtJSSJ = new Text(comJSSJ,SWT.BORDER | SWT.READ_ONLY);
//獲取當前服務器時間并顯示
String datastr=db.getNowDate();
txtJSSJ.setText(datastr);
GridData griddataTxtJSSJ=new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
txtJSSJ.setLayoutData(griddataTxtJSSJ);
//創建收費概要信息,初始化收費概要表
getSFGYData(strSubmitTime);
//時間下拉框
cmbJSSJ=new Combo(comJSSJ,SWT.SINGLE | SWT.READ_ONLY);
//獲取選中的值
getSelectComboData();
//初始設置最上層為文本框,鼠標雙擊文本框變為下拉框
stacklayoutCom.topControl = txtJSSJ;
txtJSSJ.addMouseListener(new MouseAdapter()
{
public void mouseDoubleClick(MouseEvent e)
{
//設置最上層為下拉框
stacklayoutCom.topControl = cmbJSSJ;
comJSSJ.layout();
//先把cmbJSSJ內容清空,取得以前提交的時間并添加到下拉框
tblSFGY.removeAll();
tblSFXX.removeAll();
cmbJSSJ.removeAll();
createCmbtime();
//確定按鈕不可用
btnQD.setEnabled(false);
lblJSSJ.setText("歷次上交記錄:");
lblJSSJ.setAlignment(SWT.CENTER);
lblBLANK.setText("要提交請先刷新!");
lblBLANK.setAlignment(SWT.CENTER);
//選中第一個并顯示在收費概要表
String strCombo = cmbJSSJ.getText();
getSFGYData(strCombo);
//把提交時間設置成選中的Combo值,是否已經提交設置成true
strSubmitTime = strCombo;
isSubmitTag = true;
}
});//end of addMouseListener
//提示標簽
GridData griddataBlank=new GridData(GridData.FILL_HORIZONTAL);
griddataBlank.horizontalSpan=2;
griddataBlank.widthHint = 230;
lblBLANK=new Label(comSHELL,SWT.None);
lblBLANK.setText("雙擊左邊的文本框查看歷次上交記錄!");
lblBLANK.setAlignment(SWT.CENTER);
lblBLANK.setForeground(colGreen);
lblBLANK.setLayoutData(griddataBlank);
//按鈕控件開始
//刷新按鈕,重新讀取要上交的數據
btnSX=new Button(comSHELL,SWT.None);
btnSX.setText(" 刷 新 ");
//刷新按鈕單擊事件
btnSX.addMouseListener(new MouseAdapter()
{
public void mouseDown(MouseEvent e)
{
//清空顯示概要信息記錄和收費詳細記錄的表
tblSFGY.removeAll();
tblSFXX.removeAll();
//提交時間設置成未提交,取得未提交概要信息
strSubmitTime = notSubmitTime;
getSFGYData(notSubmitTime);
//獲取當前服務器時間并顯示在文本框
String strData=db.getNowDate();
txtJSSJ.setText(strData);
//把時間文本框應用在最上層
stacklayoutCom.topControl = txtJSSJ;
comJSSJ.layout();
lblJSSJ.setText("本次上交時間:");
lblJSSJ.setAlignment(SWT.CENTER);
lblBLANK.setText("雙擊左邊的文本框查看歷次上交記錄!");
lblBLANK.setAlignment(SWT.CENTER);
//收費概要表無內容設置確定按鈕不可用,有內容則設置確定按鈕可用
if (tblSFGY.getItemCount() ==0)
{
btnQD.setEnabled(false);
}
else
{
btnQD.setEnabled(true);
}
}
});//end of addMouseListener
//確定按鈕,確定提交頁面數據
btnQD=new Button(comSHELL,SWT.None);
btnQD.setText(" 確 定 ");
//初始化時如果收費概要表為空就把確定按鈕設置成不可用
if (tblSFGY.getItemCount() ==0)
{
btnQD.setEnabled(false);
}
//確定按鈕單擊事件
btnQD.addMouseListener(new MouseAdapter()
{
public void mouseDown(MouseEvent e)
{
String strUpdateTime = txtJSSJ.getText();
if (tblSFGY.getItemCount() !=0)//SFGY表內容不為空,第一行有數據
{
try
{
int temp = db.updateSFSJ(strUpdateTime);
if(temp == 0)
{
MessageBox msBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
msBox.setText(" 錯誤");
msBox.setMessage("數據庫更新出錯!");
msBox.open();
return;
}
else
{
tblSFGY.removeAll();
tblSFXX.removeAll();
btnQD.setEnabled(false);
MessageBox msOK = new MessageBox(shell,SWT.OK);
msOK.setText(" 更新成功");
msOK.setMessage("恭喜您:上交成功!");
msOK.open();
return;
}//end else
}//end try
catch(Exception ee)
{
System.out.println(ee.getMessage());
}
}//end if
else //SFGY表內容為空
{
MessageBox dataNULL = new MessageBox(shell,SWT.OK);
dataNULL.setText("友情提示!");
dataNULL.setMessage("沒有要提交的數據!您可以查看以前提交的記錄。");
dataNULL.open();
return;
}//end else
}
});//end of addMouseListener
//返回按鈕,退出程序并返回系統主菜單
btnFH=new Button(comSHELL,SWT.None);
btnFH.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
btnFH.setText(" 返 回 ");
//添加返回按鈕單擊事件
btnFH.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
{
//返回到主界面
shell.getDisplay().dispose();
shell.dispose();
FrmMenu.main();
return;
}
});
}//End of createComposite()
//-----------Combo獲得已經提交的時間---------------//
/**
* 方法名: createCmbtime
* 編寫者: 冉勇
* 功 能: 獲得已經提交的時間()
* 輸入參數:
* 輸出參數:已經提交的時間
* 備 注:
*/
public void createCmbtime()
{
try
{
int temp = db.getCmbtime();
if(temp == 0)
{
MessageBox msBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
msBox.setText(" 錯誤");
msBox.setMessage("數據庫查詢出錯");
msBox.open();
return;
}
else
{
while(db.prs.next())
{
String cmbItems = db.prs.getString("SJSJ");
cmbJSSJ.add(cmbItems);
}
cmbJSSJ.select(0);
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}//end of createCmbtime
//-----------獲得Combo選中的時間---------------//
/**
* 方法名: getSelectComboData
* 編寫者: 冉勇
* 功 能: 獲得Combo選中的時間
* 輸入參數:
* 輸出參數:Combo選中的時間
* 備 注:
*/
public void getSelectComboData()
{
//獲取選中的值
cmbJSSJ.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
{
//取得選中的值
String strTimeKey = cmbJSSJ.getText();
//清空顯示收費概要信息和詳細信息的表
tblSFGY.removeAll();
tblSFXX.removeAll();
//根據選擇的時間取得收費概要信息
getSFGYData(strTimeKey);
//選擇了下拉框,則標記是為true;把全局的提交時間設置成當前選中的值
isSubmitTag = true;
strSubmitTime = cmbJSSJ.getText();
}
});//end of addSelectionListener
}//end of getSelectComboData
}//End Of FrmSFSJ.java
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -