?? frmbrjf.java
字號:
}
table.removeAll();
setTable(1);
}
});
}
////////////////創建保存,返回,放棄按鈕函數實體/////////////////
private void createButton(){
//增加一個空的label占位
Label freeLabel = new Label(shell,SWT.None);
//聲明一個composite用于放置3個按鈕
compositeBUTTON = new Composite(shell,SWT.SHADOW_ETCHED_IN);
//設置composite顯示格式
GridData gridData0 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
gridData0.horizontalSpan=1;
compositeBUTTON.setLayoutData(gridData0);
//設置composite布局
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 3;
compositeBUTTON.setLayout(gridLayout);
//增加保存按鈕
btnSAVE = new Button(compositeBUTTON,SWT.None);
btnSAVE.setText(" 保存 ");
btnSAVE.setEnabled(false);
//保存按鈕的監視器
btnSAVE.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
//如果輸入的是數字就調用提交函數
if(CheckNumber(txtJE.getText())){
commitrecord();
}
}
});
//增加放棄按鈕
btnFQ = new Button(compositeBUTTON,SWT.None);
btnFQ.setText(" 放棄 ");
btnFQ.setEnabled(false);
//增加放棄按鈕監視器,放回到初始狀態
btnFQ.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
txtZYH.setFocus();
txtZYH.setText("");
txtBRXM.setText("");
txtJFRQ.setText("");
txtJE.setText("");
txtJFHJ.setText("");
txtFYHJ.setText("");
txtBRXM.setEnabled(false);
txtJFRQ.setEnabled(false);
cobJFXS.setEnabled(false);
txtJE.setEnabled(false);
txtJFHJ.setEnabled(false);
txtFYHJ.setEnabled(false);
radioBRFY.setEnabled(false);
radioBRJF.setEnabled(false);
radioBRFY.setSelection(false);
radioBRJF.setSelection(false);
radioYSJ.setSelection(true);
table.removeAll();
setTable(1);
zyhc=false;
btnSAVE.setEnabled(false);
btnFQ.setEnabled(false);
}
});
//增加返回按鈕
btnBACK = new Button(compositeBUTTON,SWT.None);
btnBACK.setText(" 返回 ");
//添加"返回"按鈕監聽器
btnBACK.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent event)
{
shell.getDisplay().dispose();
shell.dispose();
FrmMenu menu=new FrmMenu();
menu.main();
return;
}
});
}
//////////////////////創建表格的第1-6列//////////////////////
public void colBuild1(){
//定義表格列名
String[] columns={"序號",
"住院號",
"繳費日期",
"繳費形式",
"收費員",
"金額"
};
//添加表格第1列
col1 = new TableColumn(table,SWT.LEFT);
col1.setText(columns[0]);
col1.setWidth(50);
//添加表格第2列
col2 = new TableColumn(table,SWT.LEFT);
col2.setText(columns[1]);
col2.setWidth(132);
//添加表格第3列
col3 = new TableColumn(table,SWT.LEFT);
col3.setText(columns[2]);
col3.setWidth(150);
//添加表格第4列
col4 = new TableColumn(table,SWT.LEFT);
col4.setText(columns[3]);
col4.setWidth(100);
//添加表格第5列
col5 = new TableColumn(table,SWT.LEFT);
col5.setText(columns[4]);
col5.setWidth(100);
//添加表格第6列
col6= new TableColumn(table,SWT.LEFT);
col6.setText(columns[5]);
col6.setWidth(100);
//初始化時表格顯示的數據
setTable(1);
}
///////////創建表格的第7-20列/////////////////////////////////
public void colBuild2(){
//定義列名
String[] columnss={"序號",
"住院號",
"處方日期",
"住院科室",
"科目類別",
"科目",
"單價",
"數量",
"自費比例",
"分類代碼",
"記價單位",
"規格",
"產地",
"廠家"};
//實例化第7-20列
col7= new TableColumn(table,SWT.LEFT);
col7.setText(columnss[0]);
col7.setWidth(40);
col8= new TableColumn(table,SWT.LEFT);
col8.setText(columnss[1]);
col8.setWidth(100);
col9= new TableColumn(table,SWT.LEFT);
col9.setText(columnss[2]);
col9.setWidth(80);
col10= new TableColumn(table,SWT.LEFT);
col10.setText(columnss[3]);
col10.setWidth(80);
col11= new TableColumn(table,SWT.LEFT);
col11.setText(columnss[4]);
col11.setWidth(80);
col12= new TableColumn(table,SWT.LEFT);
col12.setText(columnss[5]);
col12.setWidth(80);
col13= new TableColumn(table,SWT.LEFT);
col13.setText(columnss[6]);
col13.setWidth(80);
col14= new TableColumn(table,SWT.LEFT);
col14.setText(columnss[7]);
col14.setWidth(80);
col15= new TableColumn(table,SWT.LEFT);
col15.setText(columnss[8]);
col15.setWidth(80);
col16= new TableColumn(table,SWT.LEFT);
col16.setText(columnss[9]);
col16.setWidth(80);
col17= new TableColumn(table,SWT.LEFT);
col17.setText(columnss[10]);
col17.setWidth(80);
col18= new TableColumn(table,SWT.LEFT);
col18.setText(columnss[11]);
col18.setWidth(80);
col19= new TableColumn(table,SWT.LEFT);
col19.setText(columnss[12]);
col19.setWidth(80);
col20= new TableColumn(table,SWT.LEFT);
col20.setText(columnss[13]);
col20.setWidth(80);
}
///////////////////刪除表格1-6列函數//////////////////////////
public void dispose1()
{
col1.dispose();
col2.dispose();
col3.dispose();
col4.dispose();
col5.dispose();
col6.dispose();
}
///////////////////刪除表格7-20列函數//////////////////////////
public void dispose2()
{
col7.dispose();col8.dispose(); col9.dispose(); col10.dispose();
col11.dispose();col12.dispose();col13.dispose();col14.dispose();
col15.dispose(); col16.dispose();col17.dispose();col18.dispose();
col19.dispose();col20.dispose();
}
///////////////////檢查金額輸入筐是否正確函數///////////////////
public boolean CheckNumber(String number){
//是否有錯的標志變量
boolean flg=false;
//如果輸入金額實"."開頭彈出錯誤筐
if(number.charAt(0)=='.'){
errorBox("金額格式不正確!");
txtJE.setText("");
btnSAVE.setEnabled(false);
flg=false;
txtJE.setFocus();
return flg;
}
try{
//如果輸入是負數時
float je=Float.valueOf(number).floatValue();
if(je<=0){
errorBox("金額必須大于零");
txtJE.setText("");
btnSAVE.setEnabled(false);
flg=false;
txtJE.setFocus();
return flg;
}
flg=true;
}
//如果不是輸入數字時
catch(java.lang.NumberFormatException e){
errorBox("金額必須為數字!");
txtJE.setText("");
flg=false;
txtJE.setFocus();
btnSAVE.setEnabled(false);
}
return flg;
}
//////////////////錯誤對話框通用函數////////////////////////////////
public void errorBox(String ms){
MessageBox mb = new MessageBox(shell, SWT.ICON_ERROR | SWT.OK);
mb.setText("Error");
mb.setMessage(ms);
mb.open();
}
//////////////////數據提交數據庫函數/////////////////////////////////
public void commitrecord(){
//當點擊保存按鈕時彈出確定對話框
MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION |SWT.YES |SWT.NO);
messageBox.setMessage("是否保存數據?");
int ms= messageBox.open();
switch (ms){
//如果選"YES"觸發的事件
case SWT.YES:
//如果數據庫更新成功,彈出對話筐.并且初始化所有控件
if(Db.update(txtZYH.getText(),cobJFXS.getText(),txtSFY.getText(),
Float.parseFloat(txtJE.getText()))){
//插入成功提示對話框
MessageBox msg = new MessageBox(shell, SWT.ICON_INFORMATION|SWT.OK);
msg.setMessage("插入記錄成功!");
msg.open();
//返回初始化狀態
txtZYH.setFocus();
txtZYH.setText("");
txtBRXM.setText("");
txtJFRQ.setText("");
txtJE.setText("");
txtJFHJ.setText("");
txtFYHJ.setText("");
txtBRXM.setEnabled(false);
txtJFRQ.setEnabled(false);
cobJFXS.setEnabled(false);
txtJE.setEnabled(false);
txtJFHJ.setEnabled(false);
txtFYHJ.setEnabled(false);
radioBRFY.setEnabled(false);
radioBRJF.setEnabled(false);
btnSAVE.setEnabled(false);
btnFQ.setEnabled(false);
table.removeAll();
//更新數據表格
Db.getTableItem(1);
radioBRJF.setSelection(false);
radioBRFY.setSelection(false);
radioYSJ.setSelection(true);
//更新上繳金額筐
txtSFYYSJ.setText(String.valueOf(Db.getysjje()));
}
//數據庫時間類型最小精確到分鐘,所以一分鐘一個住院號只能
//插入一次。
else errorBox("插入錯誤! 提示:同一分鐘內同一病人只能繳費一次");
break;
case SWT.NO:
break;
}
}
public void setTable(int lx){
switch(lx){
case 1:
Db.getTableItem(1);
int i=0;//顯示的序號
try{
while(Db.rs.next()){
//將記錄逐一的顯示到表格
TableItem item=new TableItem(table, SWT.NONE);
int c=0;
item.setText(c++,String.valueOf(++i));
item.setText(c++,Db.rs.getString(1));
item.setText(c++,Db.rs.getString(2));
item.setText(c++,Db.rs.getString(3));
item.setText(c++,Db.rs.getString(4));
item.setText(c++,Db.rs.getString(5));
}
}
catch (SQLException se){
System.out.println(se.getMessage());
se.printStackTrace();
errorBox("查詢出錯");
//查詢出錯
}
break;
case 2:
Db.getTableItem(2,txtZYH.getText());
i=0;
try{
while(Db.rs.next()){
//從JFJL表中取出當前病人未結帳的記錄,逐一顯示到表格
TableItem item=new TableItem(table, SWT.NONE);
int c=0;
item.setText(c++,String.valueOf(++i));
item.setText(c++,Db.rs.getString(1));
item.setText(c++,Db.rs.getString(2));
item.setText(c++,Db.rs.getString(3));
item.setText(c++,Db.rs.getString(4));
item.setText(c++,Db.rs.getString(5));
}
}
catch (SQLException se){
System.out.println(se.getMessage());
se.printStackTrace();
errorBox("查詢出錯");
//查詢出錯
}
break;
case 3:
Db.getTableItem(3,txtZYH.getText());
i=0;
try{
while(Db.rs.next()){
//從視圖View_WJZFY中取得當前病人費用記錄,逐一顯示到表格
TableItem item=new TableItem(table, SWT.NONE);
int c=0;
item.setText(c++,String.valueOf(++i));
item.setText(c++,Db.rs.getString(1));
item.setText(c++,Db.rs.getString(2));
item.setText(c++,Db.rs.getString(3));
item.setText(c++,Db.rs.getString(4));
item.setText(c++,Db.rs.getString(5));
item.setText(c++,Db.rs.getString(6));
item.setText(c++,Db.rs.getString(7));
item.setText(c++,Db.rs.getString(8));
item.setText(c++,Db.rs.getString(9));
item.setText(c++,Db.rs.getString(10));
item.setText(c++,Db.rs.getString(11));
item.setText(c++,Db.rs.getString(12));
item.setText(c++,Db.rs.getString(13));
}
}
catch (SQLException se){
System.out.println(se.getMessage());
se.printStackTrace();
errorBox("查詢出錯");
//查詢出錯
}
break;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -