⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmbrjf.java

📁 很全面的包括了住院管理的各项功能。如:管理员登录
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package FrmBRJF;
import org.eclipse.swt.events.*;
import org.eclipse.swt.*;
import java.sql.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import myprojects.FrmMenu.*;

public class FrmBRJF {
	//====================控件的声明===============================
	private static Font font; 
	private Shell shell;
	private Display display;
   	private Text txtJFRQ;
	private Text txtZYH;
	private Text txtBRXM;
	private Combo cobJFXS;
	private Text txtSFY;
	private Text txtSFYYSJ;
	private Text txtJE;
	private Text txtJFHJ;
	private Text txtFYHJ;
	private boolean zyhc=false;
	private Button radioBRFY;
	private Button radioBRJF;
	private Button radioYSJ;
	private Button btnSAVE;
	private Button btnFQ;
	private Button btnBACK;

	private Table table;
	
	//声明费用情况组,单选按钮组,compositeBUTTON用于放置确定,放弃,返回按钮
    private Group groupFYQK;
	private Group groupRADIO;
	private Composite compositeBUTTON;

    //对table里面的每一列声明
    private	TableColumn col1,col2,col3,col4,col5,col6,col7,col8,
                        col9,col10,col11,col12,col13,col14,col15,
                        col16,col17, col18,col19,col20;
    //声明并实例化数据库                    
	private FrmBRJFDb.FrmBRJFDb Db = new FrmBRJFDb.FrmBRJFDb();

    
    //main函数,整个程序入口 
	public static void main(){
		Display display = new Display();
		FrmBRJF brjf=new FrmBRJF();	

		//创建整体框架	
		brjf.createShell();	
		brjf.shell.open();
		
		while(!brjf.shell.isDisposed()){
			if(!display.readAndDispatch())
				display.sleep();
		}
		font.dispose();
		display.dispose();
	}
	
	
	    //创建shell
	private void createShell(){
		//声明一个字体设置shell的相关属性
		font = new Font (display, "system", 18, SWT.NORMAL);
		shell = new Shell(SWT.DIALOG_TRIM);
		shell.setBounds(240,230,655,480);
		shell.setText("病人缴费登记");
		
		//设置shell的布局为4列
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 4;
		shell.setLayout(gridLayout);
		
		//连接数据库
		
		boolean flg=true;
		
	  	try{	
			flg=Db.getConnection();			
		}
		catch(Exception e){
			System.out.println(e.getMessage());
			
		}
		if(flg){	    	
	        errorBox("连接数据库出错");
    	}
    	
		////////调用各方法、创建整体界面/////////////////////	
		
		//创建上部分的小控件	
		createWidgets();
		//创建交费情况组
	    createGroup();
	    //创建数据表格
		createTable();
		//创建单选按钮控件组
		creategroupRADIO(); 
		//创建确定放弃返回按钮
		createButton();
		shell.open();
		
		
	}
	
	///////////////创建上部分的小控件函数体////////////////////////////
	private void createWidgets(){
		
		//设置时间lbl的格式,占4格
		GridData gridData0 = new GridData(GridData.HORIZONTAL_ALIGN_END);
		gridData0.horizontalSpan = 4;
		Label labtime = new Label(shell,SWT.None);
    	//labtime用于显示系统时间	
		labtime.setText("");
		labtime.setLayoutData(gridData0);

	    Label labsfysj = new Label(shell,SWT.None);	
        labsfysj.setText("收费员应上交");   
        txtSFYYSJ = new Text(shell,SWT.BORDER);
        txtSFYYSJ.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        txtSFYYSJ.setEnabled(false);
        //获得上缴数据
        txtSFYYSJ.setText(String.valueOf(Db.getysjje()));  
        
        GridData gridData1 = new GridData(GridData.HORIZONTAL_ALIGN_END);
		gridData1.horizontalSpan = 2;
		Label labname = new Label(shell,SWT.None);
		labname.setFont(font);
		labname.setText("    病人缴费登记");
		Label labfree0 = new Label(shell,SWT.None);
		
		//增加两个空行占位
		Label labfree1 = new Label(shell,SWT.None);
		Label labfree2 = new Label(shell,SWT.None);
		labfree1.setLayoutData(gridData0);
		labfree2.setLayoutData(gridData0);
	
	    Label labzyh = new Label(shell,SWT.None);
	    labzyh.setText("住院号");
	    
	    GridData gridData2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
		gridData2.horizontalSpan = 1;
	    txtZYH = new Text(shell,SWT.BORDER);
	    txtZYH.setLayoutData(gridData2);
	    
	   //住院号输入筐增加监视器
	    txtZYH.addKeyListener(new KeyAdapter() {
        	public void keyPressed(KeyEvent event) {
            	switch (event.keyCode)
               	 	 {//捕捉enter键响应事件
                      case SWT.CR:
                      //激活所有组件
	                      if(Db.checkzyh(txtZYH.getText())){
		                      txtBRXM.setEnabled(true);
			                  txtJFRQ.setEnabled(true);
			                  cobJFXS.setEnabled(true); 
			                  txtJE.setEnabled(true);
			                  radioBRFY.setEnabled(true);
			                  radioBRJF.setEnabled(true);
			                  btnFQ.setEnabled(true);
			             	  txtJFHJ.setText(String.valueOf(Db.getjfhj(txtZYH.getText())));
			             	  txtFYHJ.setText(String.valueOf(Db.getfyhj(txtZYH.getText())));
			              	  txtBRXM.setText(Db.getname(txtZYH.getText()));
			                  //缴费形式选择现金
			                  cobJFXS.select(0);
			                  //设置时间格式并显示到交费时间text筐
			                  Date nowTime = new Date();
			                  SimpleDateFormat  matter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
			                  String time = String.valueOf(matter.format(nowTime));
			                  txtJFRQ.setText(time);
			                  //光标定位到金额筐
			                  txtJE.setFocus();
			                  zyhc=true;
		                      }
			              else{
			              	  txtZYH.setText("");
			              	  txtZYH.setFocus();
			              	  errorBox("住院号错误!");
			                  }
                      break; 
                      
             		  case SWT.ESC:
				             //捕获ESC键,返回到初始状态
				              txtBRXM.setEnabled(false); 
				              txtJFRQ.setEnabled(false);
				              cobJFXS.setEnabled(false); 
				              txtSFY.setEnabled(false);
				              txtJE.setEnabled(false);
				              txtJFHJ.setEnabled(false);
				              txtFYHJ.setEnabled(false);
				              radioBRFY.setEnabled(false);
				              radioBRJF.setEnabled(false);
				              btnSAVE.setEnabled(false);
				              btnFQ.setEnabled(false);
				              txtZYH.setText("");txtBRXM.setText("");txtJFRQ.setText("");cobJFXS.setText("");
				              txtSFY.setText("");txtJE.setText("");txtJFHJ.setText("");txtFYHJ.setText("");
				      break;
            
          		 }
          }
          });
          
          
          //改变住院号后引发的监视器
            txtZYH.addModifyListener(new ModifyListener() {
               public void modifyText(ModifyEvent event) {
               	  txtJE.setText("");
	              txtJFHJ.setText("");
	        	  txtFYHJ.setText("");
	              txtBRXM.setEnabled(false); 
	              txtJFRQ.setEnabled(false);
	              cobJFXS.setEnabled(false); 
	              txtSFY.setEnabled(false);
	              txtJE.setEnabled(false);
	              radioBRFY.setEnabled(false);
	              radioBRJF.setEnabled(false);
	              radioBRFY.setSelection(false);
	              radioBRJF.setSelection(false);
	              radioYSJ.setSelection(true);
	              if(zyhc){
	              	  table.removeAll();
	              	  setTable(1);
	              	  zyhc=false;
	              }
	              btnSAVE.setEnabled(false);
	              btnFQ.setEnabled(false);   
          	   }
           });

	    
	    GridData gridData3 = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
		gridData1.horizontalSpan = 2;
        Label labbrxm = new Label(shell,SWT.None);	
        labbrxm.setText("病人姓名"); 
        labbrxm.setLayoutData(gridData3);
        txtBRXM = new Text(shell,SWT.BORDER);
        txtBRXM.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        txtBRXM.setEnabled(false);
       
        Label labjfrq = new Label(shell,SWT.None);
        labjfrq.setText("缴费日期");
        txtJFRQ = new Text(shell,SWT.BORDER);
        txtJFRQ.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        txtJFRQ.setEnabled(false);
        
        Label labjfxs = new Label(shell,SWT.None);
        labjfxs.setText("缴费形式");
        labjfxs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
        cobJFXS = new Combo(shell,SWT.None|SWT.Selection);
        cobJFXS.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        cobJFXS.add("现金",0);
        cobJFXS.add("支票",1);
        cobJFXS.setEnabled(false);
        
        Label labsfy = new Label(shell,SWT.None);
        labsfy.setText("收费员");
        txtSFY = new Text(shell,SWT.BORDER);
        txtSFY.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        txtSFY.setEnabled(false);
       //数据库获得数据
       txtSFY.setText(Db.getUserID());
        
        Label labje = new Label(shell,SWT.None);
        labje.setText("      金额          ");
        labje.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
        txtJE = new Text(shell,SWT.BORDER);
        txtJE.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        txtJE.setEnabled(false);
        
       //增加金额框监视器,让保存按扭可用
           txtJE.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent event) {
           	btnSAVE.setEnabled(true);
           	if(txtJE.getText()==""){
           		btnSAVE.setEnabled(false);           		
           	}
          	}
            
        
   });
  }
  
  
  //////创建病人缴费情况的控件组的函数实体//////////////////////////////
   private void createGroup(){
     	groupFYQK = new Group(shell,SWT.SHADOW_ETCHED_IN);
     	groupFYQK.setText("病人缴费及费用发生情况");
   			
		//设置group显示格式
		GridData gridData0 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
		gridData0.horizontalSpan=4;
		groupFYQK.setLayoutData(gridData0);
		//设置group布局
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 4;
		groupFYQK.setLayout(gridLayout);
   	 	//添加各组件到group
		Label labjfhj = new Label(groupFYQK,SWT.None);
		labjfhj.setText("缴费合计   ");
		txtJFHJ = new Text(groupFYQK,SWT.BORDER);
		txtJFHJ.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
		txtJFHJ.setEnabled(false);
		
		Label labfyhj = new Label(groupFYQK,SWT.None);
		labfyhj.setText("                        费用合计                 ");
		txtFYHJ = new Text(groupFYQK,SWT.BORDER); 
		txtFYHJ.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
        txtFYHJ.setEnabled(false);
       }
       
   ///////////////////创建表格 //////////////////////////////////////////  
   private void createTable(){
   			table = new Table(shell,SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
		//设置表格表头可见	
		table.setHeaderVisible(true);
     	//设置表框线可见
       table.setLinesVisible(true);
	   //设置表格填充格式为占据整行
		GridData gridData1 = new GridData(GridData.FILL_BOTH);
		gridData1.horizontalSpan =4;
		table.setLayoutData(gridData1);	
		//调用创建列子函数,分配资源,让第7---20列不可见
		colBuild1();colBuild2();
		col7.setWidth(0);col8.setWidth(0);col9.setWidth(0);col10.setWidth(0);
	    col11.setWidth(0);col12.setWidth(0);col13.setWidth(0);col14.setWidth(0);
	    col15.setWidth(0);col16.setWidth(0);col17.setWidth(0);col18.setWidth(0);
	    col19.setWidth(0);col20.setWidth(0);
	 }
	 					
    
    /////////////创建单选按钮控件组///////////////////////////////
   private void creategroupRADIO(){
      	groupRADIO = new Group(shell,SWT.SHADOW_ETCHED_IN);
        //设置group显示格式
		GridData gridData0 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
		gridData0.horizontalSpan=2;
		groupRADIO.setLayoutData(gridData0);
		//设置group布局
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 3;
		groupRADIO.setLayout(gridLayout);
		
		//下面是增加3个单选按钮到groupRADIO 
		//增加病人费用按钮
		radioBRFY =  new Button(groupRADIO,SWT.RADIO);
		radioBRFY.setText("病人费用");
		radioBRFY.setEnabled(false);
		//增加病人费用按钮监视器
		radioBRFY.addSelectionListener(new SelectionAdapter(){
			public void widgetSelected(SelectionEvent e){
				//如果第一列可见就先去掉全部列,然后创建第7-20列.
				if(!col1.isDisposed())
		         {
		        //清除全部列
		     	 dispose2();
		     	 dispose1();
		     	 //创建7-20列
		     	 colBuild2();
                 }
                 //清除表格内容
		        table.removeAll();
		    //把相应数据库数据填入表格     
            setTable(3);	
	    	}	
			});
		
		//增加病人交费按钮
		radioBRJF =  new Button(groupRADIO,SWT.RADIO);
		radioBRJF.setText("病人缴费");
		radioBRJF.setEnabled(false);
		//增加病人交费单选按钮监视器
		radioBRJF.addSelectionListener(new SelectionAdapter(){
			public void widgetSelected(SelectionEvent e){
			     //如果第7-20列存在就先去掉全部列,再增加1-6列
		   		 if(!col7.isDisposed())
			         {//清除列函数
				 		dispose2();
						dispose1();
						//创建1-6列函数
						colBuild1();
			     	 }
			    // 清除表格内容,从新装入数据
		         table.removeAll();	
			     setTable(2);
			     }
			});
		
		//增加应上缴按钮
		radioYSJ =  new Button(groupRADIO,SWT.RADIO);
		radioYSJ.setText("应上缴");
		radioYSJ.setSelection(true);
		//增加应上缴按钮监视器
		radioYSJ.addSelectionListener(new SelectionAdapter(){
	    public void widgetSelected(SelectionEvent e){
	   		  if(!col7.isDisposed()){
			     dispose2();
			     dispose1();
			     colBuild1();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -