?? frmbrtf.java
字號:
package myprojects.FrmBRTF;
import org.eclipse.swt.events.*;
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.custom.*;
import java.sql.*;
import myprojects.FrmBRTFDb.*;
import java.util.Date;
import java.text.SimpleDateFormat;
public class FrmBRTF{
private myprojects.FrmBRTFDb.FrmBRTFDb db = new myprojects.FrmBRTFDb.FrmBRTFDb();
private Shell shell;
private Display display;
private static Font font;
private Table tblFYMX;
private static Color colRed,colBlue;
private int noBLTF = 0000;
private Text txtBLTF;
private Text txtZYH;
private Text txtBRXM;
private Text txtBRXB;
private Text txtCSNY;
private Text txtZYKS;
private Text txtBCH;
private Text txtTYF;
private Text txtQZZF1;
private Text txtQZZF2;
private Text txtQZZF3;
private Text txtTYLF;
private Text txtTCWF;
private Text txtHJFY;
private Text txtTFSL;
private Label lblTime;
private Button btnBC;
private Button btnFQ;
private Button btnFH;
private Label lblTFLB;
//單擊表格一行時用來存儲被單擊行數據的臨時變量
private String temp[];
public static void main(){
Display display = new Display();
FrmBRTF brtf=new FrmBRTF();
//設置字體顏色
colRed = new Color(display,255,0,0);
colBlue = new Color(display,0,0,255);
//創建整體框架
brtf.createShell();
while(!brtf.shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
private void createShell(){
shell = new Shell(SWT.DIALOG_TRIM);
shell.setBounds(240,230,705,450);
shell.setText("病人退費");
//設置布局方式
GridLayout gridLayout = new GridLayout();
//將shell分為6列
gridLayout.numColumns = 6;
shell.setLayout(gridLayout);
//連接數據庫
try{
db.getConnection();
}
catch(Exception e){
System.out.println(e.getMessage());
}
//調用各方法、創建整體界面
createGroup();
createTableFYMX();
createWidgets();
shell.open();
}
private void createGroup(){
Group grp = new Group(shell,SWT.SHADOW_ETCHED_IN);
//定義字體
font = new Font (display, "system", 17, SWT.NORMAL);
//設置group顯示格式
GridData gridData0 = new GridData();
gridData0.horizontalSpan=6;
grp.setLayoutData(gridData0);
//設置group布局
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 6;
grp.setLayout(gridLayout);
//設置組件對齊方式
GridData gridData1 = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
gridData1.horizontalSpan = 2;
GridData gridDataTime = new GridData(GridData.HORIZONTAL_ALIGN_END);
gridDataTime.horizontalSpan = 2;
GridData gridData3 = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
gridData3.horizontalSpan = 6;
GridData gridData2 = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
gridData2.horizontalSpan = 2;
//添加各組件到group
Label lblBLTF = new Label(grp,SWT.None);
lblBLTF.setText(" 辦理退費 ");
txtBLTF = new Text(grp,SWT.BORDER);
txtBLTF.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblBRTF = new Label(grp,SWT.None);
lblBRTF.setText(" 病人退費 ");
lblBRTF.setLayoutData(gridData1);
lblBRTF.setForeground(colBlue);
lblBRTF.setFont(font);
//返回系統時間
Date nowTime = new Date();
SimpleDateFormat matter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
lblTime = new Label(grp,SWT.None);
lblTime.setText(matter.format(nowTime));
lblTime.setLayoutData(gridDataTime);
//空一整行
Label lblEmpty = new Label(grp,SWT.None);
lblEmpty.setText(" ");
lblEmpty.setLayoutData(gridData3);
//繼續添加控件
Label lblZYH = new Label(grp,SWT.None);
lblZYH.setText(" 住院號 ");
txtZYH = new Text(grp,SWT.BORDER);
txtZYH.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
txtZYH.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
//捕獲按鍵信息
if(e.keyCode == SWT.CR)
{
try {
String strZYH = new String(txtZYH.getText());
for(int i = 0;i < strZYH.length();i ++){
if(strZYH.regionMatches(i,"'",0,1)){
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText("錯誤");
messageBox.setMessage("住院號輸入錯誤!");
messageBox.open();
txtZYH.setText("");
txtZYH.setFocus();
break;
}
}
//獲取病人信息并顯示在文本框里
db.getBRXX(txtZYH.getText());
while (db.rsBRXX.next()) {
txtBRXM.setText(db.rsBRXX.getString("BRXM"));
txtBRXB.setText(db.rsBRXX.getString("BRXB"));
txtCSNY.setText(db.rsBRXX.getString("CSNY"));
txtZYKS.setText(db.rsBRXX.getString("ZYKS"));
txtBCH.setText(db.rsBRXX.getString("BCH"));
}
if(txtBRXM.getText().equals("")){
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText("錯誤");
messageBox.setMessage("住院號輸入錯誤!");
messageBox.open();
txtZYH.setText("");
txtZYH.setFocus();
}
else{
txtZYH.setEnabled(false);
//檢測住院號正確后辦理退費號自動加1
++noBLTF;
txtBLTF.setText(String.valueOf(noBLTF));
try{
//獲取費用明細并顯示在表里
db.getFYMX(txtZYH.getText());
//退費數量,單價,金額的聲明
int liSL;
float lfDJ,lfJE;
while(db.rsFYMX.next()){
String[] lsTemp=new String[12];
lsTemp[0]=db.rsFYMX.getString("CFRQ");
lsTemp[1]=db.rsFYMX.getString("ZYKS");
lsTemp[2]=db.rsFYMX.getString("KMLB");
lsTemp[3]=db.rsFYMX.getString("KM");
lfDJ=db.rsFYMX.getFloat("DJ");
liSL=db.rsFYMX.getInt("SL");
lfJE=liSL*lfDJ;
lsTemp[4]=String.valueOf(lfJE);
lsTemp[5]=String.valueOf(lfDJ);
lsTemp[6]=String.valueOf(liSL);
lsTemp[7]=db.rsFYMX.getString("ZFBL");
lsTemp[8]=db.rsFYMX.getString("JJDW");
lsTemp[9]=db.rsFYMX.getString("GG");
lsTemp[10]=db.rsFYMX.getString("CD");
lsTemp[11]=db.rsFYMX.getString("CJ");
TableItem item1 = new TableItem(tblFYMX,SWT.NONE);
item1.setText(lsTemp);
}
}
catch(Exception ew){
System.err.println(ew.getMessage());
}
}
}
catch(Exception ev){
System.err.println(ev.getMessage());
}
btnFQ.setEnabled(true);
}
}
});
Label lblBRXM = new Label(grp,SWT.None);
lblBRXM.setText(" 病人姓名 ");
txtBRXM = new Text(grp,SWT.BORDER);
txtBRXM.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblBRXB = new Label(grp,SWT.None);
lblBRXB.setText(" 病人性別 ");
txtBRXB = new Text(grp,SWT.BORDER);
txtBRXB.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblCSNY = new Label(grp,SWT.None);
lblCSNY.setText(" 出生年月 ");
txtCSNY = new Text(grp,SWT.BORDER);
txtCSNY.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblZYKS = new Label(grp,SWT.None);
lblZYKS.setText(" 住院科室 ");
txtZYKS = new Text(grp,SWT.BORDER);
txtZYKS.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblBCH = new Label(grp,SWT.None);
lblBCH.setText(" 床號 ");
txtBCH = new Text(grp,SWT.BORDER);
txtBCH.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblTYF = new Label(grp,SWT.None);
lblTYF.setText(" 退藥費 ");
txtTYF = new Text(grp,SWT.BORDER);
txtTYF.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblQZZF1 = new Label(grp,SWT.None);
lblQZZF1.setText(" 其中自費 ");
txtQZZF1 = new Text(grp,SWT.BORDER);
txtQZZF1.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblHJFY = new Label(grp,SWT.None);
lblHJFY.setText(" 合計費用 ");
txtHJFY = new Text(grp,SWT.BORDER);
txtHJFY.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblTYLF = new Label(grp,SWT.None);
lblTYLF.setText(" 退醫療費 ");
txtTYLF = new Text(grp,SWT.BORDER);
txtTYLF.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblQZZF2 = new Label(grp,SWT.None);
lblQZZF2.setText(" 其中自費 ");
txtQZZF2 = new Text(grp,SWT.BORDER);
txtQZZF2.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
Label lblEmpty2 = new Label(grp,SWT.None);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -