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

📄 frmuser.java

📁 很全面的包括了住院管理的各项功能。如:管理员登录
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
//包
package myprojects.FrmUser;															


/*
*<p>用户信息维护FrmUser.java</p>
*<p>Copyright:李 飙 Copyright(c)2005</p>
*<p>Corp:cuit</p>
*@by:李 飙
*/


//引入软件信息维护数据库文件
import myprojects.FrmUserDb.*;
import myprojects.FrmMenu.*;


//引用时间包
import java.util.Date;																
import java.text.SimpleDateFormat;

//引用SWT包	
import org.eclipse.swt.*;															
import org.eclipse.swt.layout.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;

//引入SQL包
import java.sql.*;



//申明类

public class FrmUser																
{

	//定义SHELL类对象
	private Shell shell;															
	//定义显示类对象
	private Display display;														
	//定义字体
	private static Font font;														
	//实例化FrmUserDb
	private static FrmUserDb db = new FrmUserDb();									

	//申明提示LABEL框
	Label lblTS;																	
	
	//申明四个BUTTON按钮
	Button btnSC;																	
	Button btnBC;
	Button btnFQ;
	Button btnFH;
	
	//申明四个TEXT框
	Text txtUserID;																	
	Text txtUserXM;
	Text txtUserDH;
	Text txtUserZZ;
	
	//申明两个COMBO框
	Combo cmbUserLB;																
	Combo cmbSFTF;
	
	
	//主函数
	public static void main()											
	{

		//申明显示对象并申请空间
		Display display =new Display();												
		//定义对象并申请空间
		FrmUser item = new FrmUser();												
		//调用createshell方法
		item.createShell();															
		
		//循环判断是否关闭窗口
		while(!item.shell.isDisposed())												
	 	{
	
			if(!display.readAndDispatch())
			display.sleep();
	
		}
		
		//判断字体是否为空
		if(font!=null)																
		{
		
			font.dispose();
			display.dispose();
		
		}
	}		



	/*
	* 函数名:createShell
	* 编写者:李 飙
	* 功  能:创建窗体类
	* 输入参数:无
	* 输出参数:无返回类型
	* 备  注:无
	*/



	//申明createshell方法
	public void createShell()														
	{
	
		//创建对话框风格的窗口
		shell=new Shell(display,SWT.DIALOG_TRIM | SWT.MIN);							
		//定义窗口大小
		shell.setSize(410,260);	
		shell.setLocation(300,120);													
		//窗体名字
		shell.setText("用户信息");													
   
 
 		//创建数据库连接
    	if(!db.getConnection())														
        {
            
            //创建消息框
            MessageBox msBox = new MessageBox(shell,SWT.OK | SWT.ICON_ERROR);		
            //设置窗体名
            msBox.setText("错误");													
            //提示消息
            msBox.setMessage("连接数据库出错");										
            //打开消息框
            msBox.open();															
            return;
        
        }
											
/////////非常重要,布局


	    //申明窗体的布局
	    GridLayout gridLayout1 = new GridLayout();									
	    //把窗口分为4列
	    gridLayout1.numColumns = 4;													
	    //设置窗体布局
	    shell.setLayout(gridLayout1);												
	    

		//调用createItem方法		
		createItem();
		//调用createCom方法
		createKb();																	
		//设置初始画面
		createCom();																
		setCSEnabled();																
		//打开窗体
		shell.open();																
	
	}


	/*
	* 函数名:createItem
	* 编写者:李 飙
	* 功  能:创建窗体显示控件及空间监视器
	* 输入参数:无
	* 输出参数:无返回类型
	* 备  注:无
	*/


////标签


	//方法
	public void createItem()														
	{
  
        //申明布局
        GridData gridData1 ;
        //设置布局的对齐方式
        gridData1 = new GridData(GridData.FILL_HORIZONTAL);							
    	gridData1.horizontalAlignment = GridData.CENTER;								
   		gridData1.grabExcessHorizontalSpace = true;
   		//设置布局高度
   		gridData1.heightHint = 25;													
    	//设置布局所占格数
    	gridData1.horizontalSpan = 2;												
    	gridData1.verticalSpan = 1;
    	
		
		//申明布局
		GridData gridData2 = new GridData();										
		gridData2.horizontalAlignment= GridData.CENTER;
		gridData2.horizontalSpan = 4;
		gridData2.heightHint = 20;
		

        GridData gridData5 ;
        //申明布局
        gridData5 = new GridData(GridData.FILL_HORIZONTAL);							
    	//设置布局的对齐方式
    	gridData5.horizontalAlignment = GridData.END;								
   		gridData5.grabExcessHorizontalSpace = true;
   		//设置布局高度
   		gridData5.heightHint = 25;													
    	//设置布局所占格数
    	gridData5.horizontalSpan = 2;												
    	gridData5.verticalSpan =2;
  
		
		lblTS = new Label(shell,SWT.LEFT);
		lblTS.setForeground(new Color(display,0,0,255));
		lblTS.setLayoutData(gridData1);

	
		//申明LABLE框和显示风格
    	Label lblTime = new Label(shell,SWT.CENTER);								


//		//申明时间对象空间
//		Date nowTime = new Date();													
//		//申明简单时间表示对象
//		SimpleDateFormat timeFormat;
//		timeFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss	");					
//		//显示时间
//		lblTime.setText(timeFormat.format(nowTime));								


		//调用方法,得到数据库系统的时间
		lblTime.setText(db.getNowTime());											
		//显示字体
		lblTime.setFont(new Font (display, "NONE", 10, SWT.NORMAL)); 				
		//设置显示字体的颜色
		lblTime.setForeground(new Color(display,0,0,0));							
    	//应用布局方案
    	lblTime.setLayoutData(gridData5);						 					


		//申明LABLE框和显示风格
		Label lblWelcome = new Label(shell,SWT.CENTER);								
		//显示内容   
		lblWelcome.setText("软件用户信息维护"); 									
		//显示字体	    	 	
		lblWelcome.setFont(new Font (display, "NONE", 13, SWT.NORMAL)); 			
    	//设置颜色
    	lblWelcome.setForeground(new Color(display,255,0,0));						
    	//应用布局方案
    	lblWelcome.setLayoutData(gridData2);   	        							
		

		//设置布局gridData4
		GridData gridData4 = new GridData(GridData.FILL_HORIZONTAL);				
    	gridData4.horizontalAlignment = GridData.END;
   		gridData4.grabExcessHorizontalSpace = true;
   		gridData4.heightHint = 10;
    	gridData4.horizontalSpan = 4;
    	gridData4.verticalSpan =2;
		

		//设置一个空LABEL
		Label lblKB = new Label(shell,SWT.CENTER);									
		lblKB.setText("");
		lblKB.setLayoutData(gridData4);
		

		//申明LABLE框和显示风格						
		Label lblUserID = new Label(shell,SWT.LEFT);								
		lblUserID.setText("	用户编号");
		//设置布局
		lblUserID.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));		
		
		
		//创建TEXT框和风格
		txtUserID = new Text(shell, SWT.BORDER);									
		

		//申明LABLE框和显示风格	
		Label lblUserXM = new Label(shell,SWT.LEFT);								
		lblUserXM.setText("用户姓名");
		lblUserXM.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
		

		//创建TEXT框及风格
		txtUserXM = new Text(shell, SWT.BORDER);									
		

		//申明LABLE框和显示风格	
		Label lblUserDH = new Label(shell,SWT.LEFT);								
		lblUserDH.setText("	联系电话");
		

		//创建TEXT框及风格
		txtUserDH = new Text(shell, SWT.BORDER);									
		

		//申明LABLE框和显示风格	
		Label lblUserZZ = new Label(shell,SWT.CENTER);								
		lblUserZZ.setText("住址");
		

		//创建TEXT框和风格
		txtUserZZ = new Text(shell, SWT.BORDER);									
		

		//申明LABLE框和显示风格	
		Label lblUserLB = new Label(shell,SWT.LEFT);								
		lblUserLB.setText("	用户类型");
						

		//创建COMBO下拉列表框
		cmbUserLB = new Combo(shell, SWT.BORDER | SWT.READ_ONLY);					
		cmbUserLB.add("");
		

		//调用此方法得到用户类型
		getUserLB();																
		

		//申明LABLE框和显示风格		
		Label lblSFTF = new Label(shell,SWT.CENTER);							
		lblSFTF.setText("是否有收费权限");	
		

		//创建COMBO下拉列表框
		cmbSFTF = new Combo(shell, SWT.BORDER | SWT.READ_ONLY);						
		cmbSFTF.add("");
		

		//调用此方法得到用户的收费权限的所有可能
		getSFTF();																	
	

		//对txtUserId添加按下键盘监视器
		txtUserID.addKeyListener(new KeyAdapter()									
		{
     		public void keyPressed(KeyEvent event) 
     		{
               
                //判断按下什么键
                if (event.keyCode == SWT.CR | event.keyCode == SWT.KEYPAD_CR)		
                {
               
                	//当调用此方法查询指定用户
                	txtListener();													
               
                }

            }
        
        });

	}		


	/*
	* 函数名:createCom
	* 编写者:李 飙
	* 功  能:创建Composite控件组
	* 输入参数:无
	* 输出参数:无返回类型
	* 备  注:无
	*/

	
	public void createCom()
	{
	
		//设置布局
		GridData gridData3 = new GridData(GridData.FILL_HORIZONTAL);				
    	gridData3.horizontalAlignment = GridData.END;
   		gridData3.grabExcessHorizontalSpace = true;
   	   	gridData3.horizontalSpan = 2;
 		

		//申明COMPOSITE组及在SHELL中的布局
		Composite composite = new Composite(shell,SWT.None);						
		//申明composite的布局
		GridLayout gridLayout2 = new GridLayout();									
        //设置composite的格数
        gridLayout2.numColumns = 4;													
		//设置布局方式
		composite.setLayout(gridLayout2);											
		composite.setLayoutData(gridData3);
				

		//申明BUTTON按钮并在COMPOSITE中显示
		btnBC= new Button(composite,SWT.None);										
		btnBC.setText("保 存");
		//添加监视器
		btnBC.addSelectionListener(new SelectionAdapter()							
		{
		
			//双击事件,调用save()方法
			public void widgetSelected(SelectionEvent event)						
			{
			
				//调用保存方法
				save();																
			
			}
		
		});
		
	
		//申明BUTTON按钮并在COMPOSITE中显示
		btnFQ = new Button(composite,SWT.None);										
		btnFQ.setText("放 弃");
		//添加监视器
		btnFQ.addSelectionListener(new SelectionAdapter()							
		{
		
			public void widgetSelected(SelectionEvent event)
			{
		
				//用户编号框可用
				txtUserID.setEnabled(true);	
				//调用此方法返回初始画面										
				setCSEnabled();														
		
			}
		
		});
		
		
		//申明BUTTON按钮并在COMPOSITE中显示
		btnSC = new Button(composite,SWT.None);										
		btnSC.setText("删 除");
		//添加监视器
		btnSC.addSelectionListener(new SelectionAdapter()							
		{
		
			//双击事件,调用delete方法
			public void widgetSelected(SelectionEvent event)						
			{
		
				//调用delete,删除用户
				delete();																						
		
			}
		
		});
		
		
		//申明BUTTON按钮并在COMPOSITE中显示
		btnFH = new Button(composite,SWT.None);										
		btnFH.setText("返 回");
		//添加监视器				
		btnFH.addSelectionListener(new SelectionAdapter() 							
		{
      	
      		//双击事件
      		public void widgetSelected(SelectionEvent event) 						
      		{
			
				FrmMenu frmMenu= new FrmMenu();
				//销毁
				shell.getDisplay().dispose();										
				//销毁本窗体
				shell.dispose();													
              
                //调用菜单窗体
                frmMenu.main();													
                return;	
      		
      		}
   	    
   	    });

	}
	

	/*
	* 函数名:txtListener
	* 编写者:李 飙
	* 功  能:从数据库中取得用户的信息,此为TXET框监视器所调用的方法
	* 输入参数:无
	* 输出参数:无返回类型
	* 备  注:无
	*/
	

	private void txtListener()
	{
     
     	//try,catch块
        try																			
    	{
    	
    		//申明一个字符串接收编号框的文本
    		String getText = txtUserID.getText(); 									
  		
  			if(check(getText))
  			{
  				
  				//报错提示消息
				checkBox("编号框内输入了非法字符英文状态下的单引号");
				//设置焦点
				txtUserID.setFocus();												
				txtUserID.selectAll();
  				
  			}
  			
  			else
  			{
	  		
	  			//判断有无输入,没有则提示
	  			if(getText == "")													
	  			{	
	  			
	  				MessageBox inputJCBox = new MessageBox(shell,SWT.ICON_INFORMATION | SWT.OK);
	  				inputJCBox.setText("警告");
	  				inputJCBox.setMessage("您没有输入用户编号!");
	  				inputJCBox.open();
	
	  			}
	    	
	    		//有值则进数据库查询
	    		else																
	    		{
		    		
		    		//调用getUserId方法
		    		int temp=db.getUserInfo(getText);								
		    		
		    		if(temp == 0)
					{
																					
						//判断是否有该用户,没有则提示重新输入
						MessageBox msBox = new MessageBox(shell,SWT.OK | SWT.ICON_ERROR);
			        	msBox.setText("错误!");
			        	msBox.setMessage("查询数据库出错");
			        	msBox.open();
			       	 	return;		
					
					}
		    		
		    		else
		    		{
		    		
		    			if(db.rs.next())
						{
						
							//取得字段的值并赋给txtUserXM框
							txtUserXM.setText(db.rs.getString("UserXM"));			
							
							
							if(db.rs.getString("UserDH") == null)
								//取得字段的值并赋给txtUserDH框
								txtUserDH.setText("");								
							else
								txtUserDH.setText(db.rs.getString("UserDH"));
							
							
							if(db.rs.getString("UserLB") == null)
								cmbUserLB.select(0);
							else
								//取得字段的值并赋给cmbUserLB框
								cmbUserLB.setText(db.rs.getString("UserLB"));		
							
							
							if(db.rs.getString("UserZZ") == null)
								txtUserZZ.setText("");
							else
								//取得字段的值并赋给txtUserZZ框
								txtUserZZ.setText(db.rs.getString("UserZZ"));		
							
							
							//判断
							if(db.rs.getString("SFTF") == null)						
								//取得字段的值并赋给cmbSFTF框
								cmbSFTF.setText("未定义");							
							else
							{
								if(Integer.parseInt(db.rs.getString("SFTF")) == 1)
									//判断如果是1则添加"是"
									cmbSFTF.setText("是");							
								else
									//判断如果是0则添加"否"
									cmbSFTF.setText("否");							
							}
							
							//调用此方法设置控件能否使用

⌨️ 快捷键说明

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