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

📄 frmjbdm.java

📁 很全面的包括了住院管理的各项功能。如:管理员登录
💻 JAVA
字号:
package myprojects.FrmJBDM;
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 java.text.*;
import java.sql.*;

import myprojects.FrmJBDMDb.*;
import myprojects.FrmMenu.*;

public class FrmJBDM{
	private Shell shell;
	private Display display;
	
	private Table tblIcd;
	private Text txtNo;
	private Text txtIcd;
	private Text txtJbmc;
	private Text txtSfmxb;
	private Text txtSfdeb;
	private Text txtJsde;
	private Button btnAdd;
	private Button btnSave;
	private Button btnDelete;
	private Button btnReturn;		
	private int piNo;
	
	private FrmJBDMDb Db=new FrmJBDMDb();

public static void main(){
	Display	display=new Display();
	FrmJBDM Item=new FrmJBDM();
	Item.createShell();

	while( !Item.shell.isDisposed())
    { 
        if(!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

//----------------------------------------------------------
private void createShell(){
	//创建窗体
	shell=new Shell(display,SWT.MIN);
	shell.setBounds(200,150,640,480);
	shell.setText("疾病ICD代码表维护");
	
	GridLayout gridlayout=new GridLayout();
	shell.setLayout(gridlayout);
	gridlayout.numColumns=6;
	createTable();
	createWidgets();

	shell.open();
	createTableItem();
}

//-----------------------------------------------------------
private void createTable(){
	//创建表格
    tblIcd=new Table(shell,SWT.SINGLE|SWT.FULL_SELECTION|SWT.BORDER);
	GridData griddata1 = new GridData(GridData.FILL_BOTH);
	griddata1.horizontalSpan = 6;
	tblIcd.setLayoutData(griddata1);
	tblIcd.setHeaderVisible(true);
	tblIcd.setLinesVisible(true);
	
	TableColumn colNo = new TableColumn(tblIcd,SWT.LEFT);
	TableColumn colIcd = new TableColumn(tblIcd,SWT.LEFT);
	TableColumn colJbmc = new TableColumn(tblIcd,SWT.LEFT);
	TableColumn colSfmxb = new TableColumn(tblIcd,SWT.LEFT);
	TableColumn colSfdeb = new TableColumn(tblIcd,SWT.LEFT);
	TableColumn colJsde = new TableColumn(tblIcd,SWT.LEFT);
	
	colNo.setWidth(48);
	colIcd.setText("ICD编号");
	colIcd.setWidth(125);
	colJbmc.setText("疾病名称");
	colJbmc.setWidth(180);	
	colSfmxb.setText("是否慢性病");
	colSfmxb.setWidth(80);
	colSfdeb.setText("是否大额病");
	colSfdeb.setWidth(80);
	colJsde.setText("结算定额");
	colJsde.setWidth(90);
	
	tblIcd.addSelectionListener(new SelectionAdapter(){
		public void widgetSelected(SelectionEvent event) {
			
			TableItem item=tblIcd.getItem(tblIcd.getSelectionIndex());
			String[] values=new String [tblIcd.getColumnCount()];
			for(int i=0;i<values.length;i++)
			{
				values[i]=item.getText(i);
			}
			txtIcd.setText(values[1]);
			txtJbmc.setText(values[2]);
			txtSfmxb.setText(values[3]);
			txtSfdeb.setText(values[4]);
			txtJsde.setText(values[5]);
			txtIcd.setEditable(false);
			txtNo.setText(values[0]);
			
			btnDelete.setEnabled(true);	
			btnSave.setEnabled(false);
			}
		});
}

//-----------------------------------------------------------
private void createWidgets(){	
	//向Shell中添加控件
	
	//添加文本框
	GridData griddataNo=new GridData();
	GridData griddataIcd=new GridData();
	GridData griddataJbmc=new GridData();
	GridData griddataSfmxb=new GridData();
	GridData griddataSfdeb=new GridData();
	GridData griddataJsde=new GridData();
	//设置文本框的宽度
	griddataNo.widthHint=40;
	griddataIcd.widthHint=115;
	griddataJbmc.widthHint=165;
	griddataSfmxb.widthHint=70;
	griddataSfdeb.widthHint=70;
	griddataJsde.widthHint=80;
	
	txtNo   =new Text(shell,SWT.BORDER);
	txtIcd  =new Text(shell,SWT.BORDER);
	txtJbmc =new Text(shell,SWT.BORDER);
	txtSfmxb=new Text(shell,SWT.BORDER);
	txtSfdeb=new Text(shell,SWT.BORDER);
	txtJsde =new Text(shell,SWT.BORDER);
	txtNo.setLayoutData(griddataNo);
	txtIcd.setLayoutData(griddataIcd);
	txtJbmc.setLayoutData(griddataJbmc);
	txtSfmxb.setLayoutData(griddataSfmxb);
	txtSfdeb.setLayoutData(griddataSfdeb);
	txtJsde.setLayoutData(griddataJsde);
	txtNo.setEnabled(false);
	txtIcd.setEditable(false);
	txtIcd.setTextLimit(20);
	txtJbmc.setTextLimit(16);
	txtSfmxb.setTextLimit(2);
	txtSfdeb.setTextLimit(2);
	
	//向文本框添加监听器 
	//当文本框中内容发生变化时"保存"按钮恢复可用状态
	txtJbmc.addModifyListener(new ModifyListener() {
    	public void modifyText(ModifyEvent event) {
			btnSave.setEnabled(true);	
		}
	});
	txtSfmxb.addModifyListener(new ModifyListener() {
    	public void modifyText(ModifyEvent event) {
			btnSave.setEnabled(true);	
		}
	});
	txtSfdeb.addModifyListener(new ModifyListener() {
    	public void modifyText(ModifyEvent event) {
			btnSave.setEnabled(true);	
		}
	});
	txtJsde.addModifyListener(new ModifyListener() {
    	public void modifyText(ModifyEvent event) {
			btnSave.setEnabled(true);	
		}
	});
		
		
	//添加标签
	GridData griddata0=new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
	griddata0.horizontalSpan=6;
	GridData griddata1=new GridData(GridData.BEGINNING);	
	griddata1.horizontalSpan=6;
	final Label lbl0=new Label(shell,SWT.None);
	lbl0.setLayoutData(griddata0);
	lbl0.setText("ICD编号或疾病名称为空则无效");
	lbl0.setForeground(new Color(display,255,0,0));
	final Label lbl1=new Label(shell,SWT.None);
	lbl1.setLayoutData(griddata1);
	lbl1.setText("ICD编号最多包括20个字母数字");
	lbl1.setForeground(new Color(display,255,0,0));
	
	//添加按钮
	GridData griddataCom=new GridData(GridData.HORIZONTAL_ALIGN_END);
	griddataCom.horizontalSpan=6;
	Composite com=new Composite(shell,SWT.None);
	GridLayout layout=new GridLayout();
	layout.numColumns=5;
	com.setLayout(layout);
	com.setLayoutData(griddataCom);
	btnAdd=new Button(com,SWT.None);
	btnSave=new Button(com,SWT.None);
	btnDelete=new Button(com,SWT.None);
	btnReturn=new Button(com,SWT.None);
	
	btnAdd.setText("添加");
	btnSave.setText("保存");
	btnDelete.setText("删除");
	btnReturn.setText("返回");
	btnSave.setEnabled(false);
	btnDelete.setEnabled(false);
	
	btnAdd.addSelectionListener(new SelectionAdapter(){
		//添加"添加"按钮监听器
		public void widgetSelected(SelectionEvent event){
			txtIcd.setEditable(true);
			btnDelete.setEnabled(false);
			tblIcd.deselectAll();
			txtIcd.setFocus();
			txtNo.setText(String.valueOf(piNo));
			txtIcd.setText("");
			txtJbmc.setText("");
			txtSfmxb.setText("");
			txtSfdeb.setText("");
			txtJsde.setText("");			
			 }
		});
	btnSave.addSelectionListener(new SelectionAdapter(){
		//添加"保存"按钮监听器
		public void widgetSelected(SelectionEvent event){
			if(txtIcd.getText().trim().equals("")||txtJbmc.getText().trim().equals(""))
			{
				MessageBox msg = new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
				msg.setText("提示");
				msg.setMessage("ICD编号和疾病名称不能为空!");
				msg.open();
				return;
			}
			if(Integer.parseInt(txtNo.getText())==piNo)//piNo为表的最大行号+1
			{//若文本框中的序号与piNo相等 则该项是新添的
				MessageBox msgInsert = new MessageBox(shell,SWT.YES|SWT.NO|SWT.ICON_QUESTION);
				msgInsert.setText("保存");
				msgInsert.setMessage("确定添加此记录吗?");
				int liInsert = msgInsert.open();
				if(liInsert==SWT.NO)
					return;
				int insertCount = Db.insertJBDM(txtIcd.getText(),txtJbmc.getText(),
							txtSfmxb.getText(),txtSfdeb.getText(),txtJsde.getText());
				if(insertCount==1)
				{
					TableItem newItem=new TableItem(tblIcd,SWT.None);
					newItem.setText(new String[]{txtNo.getText(),txtIcd.getText(),
						txtJbmc.getText(),txtSfmxb.getText(),txtSfdeb.getText(),txtJsde.getText()});
					tblIcd.setSelection(tblIcd.getItemCount()-1);
					tblIcd.setFocus();
					txtIcd.setEditable(false);
					btnDelete.setEnabled(true);				
					//成功插入一条记录后记录行号的piNo的值+1
					piNo++;
					
					//System.out.println(count);
				}
				else
				{
					MessageBox msgInsertErro=new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
					msgInsertErro.setText("错误");
					msgInsertErro.setMessage("保存数据出错\n"+"\n新数据未保存!");
					msgInsertErro.open();
					return;
				}
			}
			else 
			{
				MessageBox msgUpdate=new MessageBox(shell,SWT.YES|SWT.NO|SWT.ICON_QUESTION);
				msgUpdate.setText("提示");
				msgUpdate.setMessage("确定对数据更新吗?");
				int liReturn=msgUpdate.open();
				if(liReturn==SWT.NO)
					return;
				
				int updateCount = Db.updateJBDM(txtIcd.getText(),txtJbmc.getText(),
							txtSfmxb.getText(),txtSfdeb.getText(),txtJsde.getText());
				if(updateCount==1)
				{
					TableItem updateItem = tblIcd.getItem(tblIcd.getSelectionIndex());
					updateItem.setText(2,txtJbmc.getText());
					updateItem.setText(3,txtSfmxb.getText());
					updateItem.setText(4,txtSfdeb.getText());
					updateItem.setText(5,txtJsde.getText());
					tblIcd.setFocus();
				}
				else 
				{
					MessageBox updateErroMb=new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
					updateErroMb.setText("错误");
					updateErroMb.setMessage("更新数据出错\n"+"\n数据未被更新!");
					updateErroMb.open();	
				}						
			}
			btnSave.setEnabled(false);
		}
			
		});
	btnDelete.addSelectionListener(new SelectionAdapter(){
		//添加"删除"按钮监听器
		public void widgetSelected(SelectionEvent event){
			
    		MessageBox messageBox = new MessageBox(shell,SWT.YES|SWT.NO|SWT.ICON_QUESTION);
    		messageBox.setText("提示");
    		messageBox.setMessage("确定删除此项记录吗?");
    		int liReturn= messageBox.open();
    		if(liReturn==SWT.NO)
    			return;
    			
			int count = Db.delJBDM(txtIcd.getText());
			System.out.println(count);
			if(count>0)
			{
				tblIcd.remove(tblIcd.getSelectionIndex());
				txtNo.setText("");
				txtIcd.setText("");
				txtJbmc.setText("");	
				txtSfmxb.setText("");				
				txtSfdeb.setText("");				
				txtJsde.setText("");							
				btnDelete.setEnabled(false);
				btnSave.setEnabled(false);
			}
			else 
			{
				MessageBox msgBox=new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
				msgBox.setText("错误");
				msgBox.setMessage("删除数据失败!");
				msgBox.open();
			}
			
			}
		});
	btnReturn.addSelectionListener(new SelectionAdapter(){
		//添加"返回"按钮监听器
		//返回菜单
		public void widgetSelected(SelectionEvent event){
                shell.getDisplay().dispose();
                shell.dispose();
                FrmMenu.main();
                return;			
			
			}
		});				
}

//-------------------------------------------------------------
private void createTableItem(){
	piNo=1;
	try{
	//数据连接
		if(!Db.getConnection())
		{
			btnAdd.setEnabled(false);
			txtJbmc.setEnabled(false);
			txtSfmxb.setEnabled(false);
			txtSfdeb.setEnabled(false);
			txtJsde.setEnabled(false);
			MessageBox msgBox=new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
			msgBox.setText("错误");
			msgBox.setMessage("连接数据库失败");
			msgBox.open();
			return;			
		}	
	}
	catch(Exception e){
		System.err.println(e.getMessage());

	}
	
	if(!Db.getJBDM())
	{
		MessageBox msg=new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
		msg.setText("错误");
		msg.setMessage("查询数据库失败");
		msg.open();
		return;
	}	
		
	try{
		while(Db.rs.next())
		{
			final TableItem item=new TableItem(tblIcd,SWT.None);
			String strIcd =Db.rs.getString("ICD");
			String strJbmc=Db.rs.getString("JBMC");
			String strSfmx=Db.rs.getString("SFMX");
			String strSfde=Db.rs.getString("SFDE");
			float  Jsde=Db.rs.getFloat("JSDE");
			item.setText(new String[]{String.valueOf(piNo),strIcd,
					strJbmc,strSfmx,strSfde,String.valueOf(Jsde) });
			piNo++;
		
		}
	}
	catch(SQLException e){
		}		

}
}	

⌨️ 快捷键说明

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