?? frmbrry.java
字號:
package myprojects.FrmBRRY;
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 myprojects.FrmBRRYDb.*;
import java.text.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.sql.*;
import myprojects.FrmMenu.*; //主菜單
public class FrmBRRY implements ModifyListener {
//標簽顯示顏色
private static Font font;
private int txtLength=0;
private Shell shell;
private Display display;
private String RQ = "";
private Label lblTime;
private Label lblBRRYDJ;
private Label lblZYH;
private Text txtZYH;
private Label lblBRXM;
private Text txtBRXM;
private Label lblSFZH;
private Text txtSFZH;
private Label lblXB;
private Text txtXB;
private Label lblCSNY;
private Text txtCSNY;
private Label lblDH;
private Text txtDH;
private Label lblZZ;
private Text txtZZ;
private Label lblLXRXM;
private Text txtLXRXM;
private Label lblLXRDH;
private Text txtLXRDH;
private Label lblLXRZZ;
private Text txtLXRZZ;
private Label lblBLH;
private Text txtBLH;
private Label lblKSBQ;
private Combo cmbKSBQ;
private Label lblRYRQ;
private Text txtRYRQ;
private Label lblBCH;
private Text txtBCH;
private Group group;
private Label lblJBDM;
private Text txtJBDM;
private Label lblBM;
private Text txtBM;
private Label lblZDYS;
private Combo cmbZDYS;
private Label lblZD;
private Text txtZD;
private Table table;
private Button btnXBR;
private Button btnDZBRXX;
private Button btnLBRZCZY;
private Label lblSR;
private Button btnBC;
private Button btnFQ;
private Button btnFH;
//創建數據庫實例
private static myprojects.FrmBRRYDb.FrmBRRYDb Db = new myprojects.FrmBRRYDb.FrmBRRYDb();
public static void main() {
Display display = new Display ();
FrmBRRY Item=new FrmBRRY();
//創建整體框架
Item.createshell();
while( !Item.shell.isDisposed())
{
if(!display.readAndDispatch())
display.sleep();
}
//關閉數據庫連接
Db.closeDB();
display.dispose();
}
public void createshell()
{
shell = new Shell (SWT.DIALOG_TRIM);
shell.setBounds(300,100,480,650);
shell.setText("病人入院登記");
//設置布局方式
GridLayout gridLayout = new GridLayout();
//將shell分為7列
gridLayout.numColumns = 4;
shell.setLayout(gridLayout);
//連接數據庫
try{
Db.getConnection();
System.out.println("數據庫連接成功!");
}
catch(Exception e){
System.err.println(e.getMessage());
}
//調用各方法、創建整體界面
createWidgets();
createGroup();
createTable();
createButton();
ChuShiState();
shell.open();
}
private void createWidgets() {
//創建標簽及文本框
lblTime = new Label(shell, SWT.None);
lblBRRYDJ = new Label(shell, SWT.None);
lblZYH = new Label(shell, SWT.None);
txtZYH = new Text(shell, SWT.BORDER);
lblBRXM = new Label(shell, SWT.None);
txtBRXM = new Text(shell, SWT.BORDER);
lblSFZH = new Label(shell, SWT.None);
txtSFZH = new Text(shell, SWT.BORDER);
lblXB = new Label(shell, SWT.None);
txtXB = new Text(shell, SWT.BORDER);
lblCSNY = new Label(shell, SWT.None);
txtCSNY = new Text(shell, SWT.BORDER);
lblDH = new Label(shell, SWT.None);
txtDH = new Text(shell, SWT.BORDER);
lblZZ = new Label(shell, SWT.None);
txtZZ = new Text(shell, SWT.BORDER);
lblLXRXM = new Label(shell, SWT.None);
txtLXRXM = new Text(shell, SWT.BORDER);
lblLXRDH = new Label(shell, SWT.None);
txtLXRDH = new Text(shell, SWT.BORDER);
lblLXRZZ = new Label(shell, SWT.None);
txtLXRZZ = new Text(shell, SWT.BORDER);
lblBLH = new Label(shell, SWT.None);
txtBLH = new Text(shell, SWT.BORDER);
lblKSBQ = new Label(shell, SWT.None);
////創建下拉列表框
cmbKSBQ = new Combo(shell,SWT.BORDER);
lblRYRQ = new Label(shell, SWT.None);
txtRYRQ = new Text(shell, SWT.BORDER);
lblBCH = new Label(shell, SWT.None);
txtBCH = new Text(shell, SWT.BORDER);
//設置組件顯示格式
GridData gridData0 = new GridData();
gridData0.horizontalAlignment = GridData.END;
gridData0.horizontalIndent= 10;
gridData0.horizontalSpan =4;
gridData0.verticalSpan = 2;
lblTime.setLayoutData(gridData0);
lblTime.setText("2005-09-15 11:50");
lblTime.setVisible(true);
//設置當前時間為系統時間
try{
Db.getNowDate();
RQ = Db.rs.getString("Expr1");
lblTime.setText(RQ);
}
catch(Exception e){
System.out.println(e.getMessage());
}
//設置組件顯示格式
GridData gridData1 = new GridData();
gridData1.horizontalAlignment = GridData.CENTER;
gridData1.horizontalSpan =4;
gridData1.verticalSpan =2;
lblBRRYDJ.setLayoutData(gridData1);
lblBRRYDJ.setText("病人入院登記");
//設置字體顏色
lblBRRYDJ.setFont(new Font (display, "NONE", 14, SWT.NORMAL));
lblBRRYDJ.setForeground(new Color(display,0,0,255));
//循環設置組件顯示格式
GridData gridDataL[]=new GridData[14];
int i;
for(i=0;i<14;i++)
{ gridDataL[i]=new GridData();
gridDataL[i].horizontalAlignment = GridData.BEGINNING;
gridDataL[i].grabExcessHorizontalSpace = true;
gridDataL[i].horizontalSpan =1;
gridDataL[i].verticalSpan = 5;
}
lblZYH.setLayoutData(gridDataL[0]);
lblZYH.setText(" 住院號");
lblZYH.setSize(100,20);
lblZYH.setVisible(true);
lblBRXM.setLayoutData(gridDataL[1]);
lblBRXM.setText(" 病人姓名");
lblBRXM.setSize(100,20);
lblBRXM.setVisible(true);
lblSFZH.setLayoutData(gridDataL[2]);
lblSFZH.setText(" 身份證號");
lblSFZH.setSize(100,20);
lblSFZH.setVisible(true);
lblXB.setLayoutData(gridDataL[3]);
lblXB.setText(" 性別");
lblXB.setSize(100,20);
lblXB.setVisible(true);
lblCSNY.setLayoutData(gridDataL[4]);
lblCSNY.setText(" 出生年月");
lblCSNY.setSize(250,50);
lblCSNY.setVisible(true);
lblDH.setLayoutData(gridDataL[5]);
lblDH.setText(" 電話");
lblDH.setSize(250,50);
lblDH.setVisible(true);
lblZZ.setLayoutData(gridDataL[6]);
lblZZ.setText(" 住址");
lblZZ.setSize(250,50);
lblZZ.setVisible(true);
lblLXRXM.setLayoutData(gridDataL[7]);
lblLXRXM.setText(" 聯系人姓名");
lblLXRXM.setSize(250,50);
lblLXRXM.setVisible(true);
lblLXRDH.setLayoutData(gridDataL[8]);
lblLXRDH.setText(" 聯系人電話");
lblLXRDH.setSize(250,50);
lblLXRDH.setVisible(true);
lblLXRZZ.setLayoutData(gridDataL[9]);
lblLXRZZ.setText(" 聯系人住址");
lblLXRZZ.setSize(250,50);
lblLXRZZ.setVisible(true);
lblBLH.setLayoutData(gridDataL[10]);
lblBLH.setText(" 病歷號");
lblBLH.setSize(250,50);
lblBLH.setVisible(true);
lblKSBQ.setLayoutData(gridDataL[11]);
lblKSBQ.setText(" 科室病區");
lblKSBQ.setSize(250,50);
lblKSBQ.setVisible(true);
lblRYRQ.setLayoutData(gridDataL[12]);
lblRYRQ.setText(" 入院日期");
lblRYRQ.setSize(250,50);
lblRYRQ.setVisible(true);
lblBCH.setLayoutData(gridDataL[13]);
lblBCH.setText(" 病床號");
lblBCH.setSize(250,50);
lblBCH.setVisible(true);
//循環設置組件顯示格式
GridData gridDataT[]=new GridData[14];
int j;
for(j=0;j<14;j++)
{ gridDataT[j]=new GridData();
gridDataT[j].horizontalAlignment = GridData.BEGINNING;
gridDataT[j].grabExcessHorizontalSpace = true;
gridDataT[j].horizontalSpan =1;
gridDataT[j].verticalSpan = 5;
gridDataT[j].widthHint=100;
gridDataT[j].heightHint=10;
}
txtZYH.setLayoutData(gridDataT[0]);
txtZYH.setSize(400,20);
txtZYH.setTextLimit(12);
// 創建住院號
try{
txtZYH.setEnabled(true);
txtZYH.setText(Db.CreateZYH());
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
//住院號文本框添加監視器,按回車鍵顯示該病人信息
txtZYH.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
int i=0,j=1;
if(e.keyCode==SWT.CR&&txtZYH.isFocusControl()==true && txtZYH.getCharCount()==12)
{
try{
//查詢ZYBRXX表
int flg=Db.ZYBRXX(txtZYH.getText());
if(flg==0){
MessageBox messageBox = new MessageBox(shell,SWT.OK | SWT.ICON_ERROR);
messageBox.setText("錯誤");
messageBox.setMessage("該住院號不存在,請重新輸入!");
messageBox.open();
}
if(flg==-1){
txtZYH.setEnabled(false);
txtBRXM.setEnabled(true);
txtSFZH.setEnabled(true);
txtXB.setEnabled(true);
txtCSNY.setEnabled(true);
txtDH.setEnabled(true);
txtZZ.setEnabled(true);
txtLXRXM.setEnabled(true);
txtLXRDH.setEnabled(true);
txtLXRZZ.setEnabled(true);
txtRYRQ.setEnabled(true);
cmbKSBQ.setEnabled(true);
btnBC.setEnabled(true);
btnFQ.setEnabled(true);
group.setEnabled(true);
btnXBR.setEnabled(true);
btnLBRZCZY.setEnabled(true);
btnDZBRXX.setEnabled(true);
txtBCH.setEnabled(true);
txtBLH.setEnabled(true);
//顯示病人信息
cmbKSBQ.setText(Db.rs.getString("ZYKS"));
txtBCH.setText(Db.rs.getString("BCH"));
txtRYRQ.setText(Db.rs.getString("RYRQ"));
txtBLH.setText(Db.rs.getString("BLH"));
txtBRXM.setText(Db.rs.getString("BRXM"));
txtSFZH.setText(Db.rs.getString("SFZH"));
txtXB.setText(Db.rs.getString("BRXB"));
txtCSNY.setText(Db.rs.getString("CSNY"));
txtDH.setText(Db.rs.getString("BRDH"));
txtZZ.setText(Db.rs.getString("BRDZ"));
txtLXRXM.setText(Db.rs.getString("LXRXM"));
txtLXRDH.setText(Db.rs.getString("LXRDH"));
txtLXRZZ.setText(Db.rs.getString("LXRDZ"));
txtBLH.setEnabled(false);
}
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
});
//住院號文本框添加監視器,雙擊住院號文本框在table中顯示病人信息
txtZYH.addMouseListener(new MouseAdapter(){
public void mouseDoubleClick(MouseEvent e){
int j=1,i=0;
table.removeAll();
try{
//查詢ZYBRXX表
int flg=Db.ZYBRXX(txtZYH.getText());
if(flg==0){
MessageBox messageBox = new MessageBox(shell,SWT.OK | SWT.ICON_ERROR);
messageBox.setText("錯誤");
messageBox.setMessage("該住院號不存在,請重新輸入!");
messageBox.open();
}
if(flg==-1){
do {
//設置table的列項
table.setVisible(true);
table.getColumn(1).setText("本次住院號");
table.getColumn(2).setText("病歷號");
table.getColumn(3).setText("病人姓名");
table.getColumn(4).setText("身份證號");
table.getColumn(5).setText("性別");
table.getColumn(6).setText("出生年月");
table.getColumn(7).setText("電話");
//在table表中顯示病人信息
int c=0;
TableItem item = new TableItem(table, SWT.NONE);
item.setText(c++,String.valueOf(j));
item.setText(c++,Db.rs.getString("ZYH"));
item.setText(c++,Db.rs.getString("BLH"));
item.setText(c++,Db.rs.getString("BRXM"));
item.setText(c++,Db.rs.getString("SFZH"));
item.setText(c++,Db.rs.getString("BRXB"));
item.setText(c++,Db.rs.getString("CSNY"));
item.setText(c++,Db.rs.getString("BRDH"));
j++;
}while (Db.rs.next());
}
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
});
txtBRXM.setLayoutData(gridDataT[1]);
txtBRXM.setSize(400,20);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -