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

📄 zicanguanli.java

📁 java开发的酒店管理系统
💻 JAVA
字号:
//如何实现窗口的关闭
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.imageio.*;
import java.io.*;
import javax.swing.JLabel;
import java.awt.Window;
import java.sql.*;
import javax.swing.event.*;
import java.awt.MediaTracker;
import javax.swing.border.*;
import javax.swing.JOptionPane;

public class zicanguanli
{
	public static void main(String [] args)
	{
		loadingFrame loadF=new loadingFrame();
		loadF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		loadF.setVisible(true);
	}
}


class loadingFrame extends JFrame
{
	public loadingFrame()
	{
		setBackground(new Color(204,255,255));
		Toolkit kit =Toolkit.getDefaultToolkit();
		Dimension screenSize=kit.getScreenSize();
		int screenWidth=screenSize.width;
		int screenHeight=screenSize.height;
		setLocation((screenWidth-DEFA_W)/2,(screenHeight-DEFA_H)/2);  //设置窗口位置,位于屏幕中间
		setTitle("酒店管理——用户登录");
		setSize(DEFA_W,DEFA_H);
		setResizable(false);  //不允许用户改变窗口大小
		loadPanel pane=new loadPanel();		//构造一个登陆面板
		add(pane);				//添加登陆面板到顶层框架
	}
	
	private final int DEFA_W=320;		//设置框架的宽度
	private final int DEFA_H=260;		//设置框架的高度
}


class loadPanel extends JPanel
{
	public loadPanel()
	{
		setBackground(new Color(204,255,255));		//设置背景色
		setLayout(null);					//设置布局管理器
	  Ltop to=new Ltop();
	  South so=new South();
	  Center ce=new Center();
	  add(to);
	  add(so);
	  add(ce);
	  to.setBounds(0,0,317,49);
	  so.setBounds(0,185,317,50);
	  ce.setBounds(0,60,317,120);
	}


//添加图像代码开始
  private class Ltop extends JPanel
  {
  	public Ltop()
  	{
  		setLayout(null);
  	  Toolkit kit =Toolkit.getDefaultToolkit();
		  top=kit.getImage("loading.GIF");
		  MediaTracker tracker=new MediaTracker(this);
		  tracker.addImage(top,0);
		  try
		  {
		    top=ImageIO.read(new File("loading.GIF"));
		  }
		  catch(IOException e)
		  {
		  	e.printStackTrace();
		  }
	  }
	  
	  public void paintComponent(Graphics g)
	  {
	  	g.drawImage(top,0,0,317,49,null);
	  }
	  
	  private Image top;
  }
//添加图像代码结束

	public void getDateBase()
  {
  	int i=0;
  	NAME=(String)textName.getText().trim();
  	PSWD=pswd.getPassword();
  	while(i<PSWD.length)
  	{
  		PASSWORD=PASSWORD+PSWD[i];
  		i=i+1;
  	}
  	PASSWORD=PASSWORD.substring(1);
  }
  
  
  public void connDBQ() throws SQLException
	{
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(ClassNotFoundException e){}
		String URL="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=mdb.mdb";
		conn=DriverManager.getConnection(URL);
		stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
		rs=stmt.executeQuery("select * from user where name like '"+NAME+"'");
  }
//添加登录 AND 取消按钮代码开始
  private class South extends JPanel
  {
  	public South()
  	{
  		setLayout(null);
  		setBackground(new Color(204,255,255));
  	  JButton Button1=new JButton("登录");
  	  JButton Button2=new JButton("取消");
	    add(Button1);
	    add(Button2);
	    Button1.setBounds(120,5,80,30);			//设置按钮的大小和位置
	    Button2.setBounds(220,5,80,30);			//设置按钮的大小和位置
	    quxiao bottaction=new quxiao();
	    dengLu deng=new dengLu();
	    Button2.addActionListener(bottaction);		//添加按钮“取消”的事件监视器
	    Button1.addActionListener(deng);					//添加按钮“登录”的事件监视器
	  }
	  
	  private class quxiao implements ActionListener		//“取消”的事件监视器
	  {
	  	public void actionPerformed(ActionEvent Event)
	  	{
	  		System.exit(0);		//退出程序
	  	}
	  }
	  
	  
	  private class dengLu implements ActionListener			//“登录”的事件监视器
	  {
	  	public void actionPerformed(ActionEvent Event)
	  	{
	  		String pswdYanZheng=null;
	  		getDateBase();
	  		try
	  		{
	  			connDBQ();
	  		}
	  		catch(SQLException e){}
	  		if(NAME.length()==0)
	  			{
	  				JOptionPane.showMessageDialog(null, "请输入用户名", "出错了", JOptionPane.ERROR_MESSAGE);
	  				PASSWORD="#";
	  			}
	  		else if(PASSWORD.length()==0)
	  			{
	  				JOptionPane.showMessageDialog(null, "请输入密码", "出错了", JOptionPane.ERROR_MESSAGE);
	  				PASSWORD="#";
	  			}
	  		else
	  		{
	  			try
	  			{
	  				if(rs.next())
	  				{
	  					rs.beforeFirst();
	  					while(rs.next())
	  					{
	  						pswdYanZheng=rs.getString("password");
	  						if(count>0&&bool)
	  						{
	  							if(pswdYanZheng.equals(PASSWORD))
	  							{
	  				//				super.setVisible(true);
	  								PASSWORD="#";
	  								mainFrame main=new mainFrame(NAME);			//打开主窗口开始
	  								main.setVisible(true);
    								main.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	  							}
	  							else
	  							{
	  								PASSWORD="#";
	  								JOptionPane.showMessageDialog(null, "密码错误,您还有"+count+"次机会", "出错了", JOptionPane.ERROR_MESSAGE);
	  								count=count-1;
	  							}
	  						}
	  						else
	  						{
	  							JOptionPane.showMessageDialog(null, "为了保护用户信息安全,请两分钟后重试", "出错了", JOptionPane.ERROR_MESSAGE);
	  							bool=false;
	  							timeCount tc=new timeCount();
	  							Timer t=new Timer(120000,tc);
	  							t.start();
	  						}
	  					}
	  				}
	  				else
	  				JOptionPane.showMessageDialog(null, "没有此用户名,请检查输入是否正确", "出错了", JOptionPane.ERROR_MESSAGE);
	  				PASSWORD="#";
	  			}
	  			catch(SQLException e){}
	  		}
	  	}
	  	private class timeCount implements ActionListener
	  	{
	  		public void actionPerformed(ActionEvent Event)
	  		{
	  			bool=true;
	  			count=2;
	  		}
	  	}
	  	private int count=2;
	  	private boolean bool=true;
	  }
  }
//添加登录 AND 取消按钮代码结束
  
  
  
//添加中间信息输入部分代码开始
  private class Center extends JPanel
  {
  	public void paintComponent(Graphics g)
  	{
     		super.paintComponent(g);
     	  Graphics2D g2=(Graphics2D)g;
     	  g2.setPaint(new Color(0,0,0));		//设置线的颜色
     	  Rectangle2D rect=new Rectangle.Double(10,8,295,111);//构造一个矩形
     	  g2.draw(rect);										//添加矩形到面板
     	  setBackground(new Color(204,255,255));//设置背景颜色
		}
		
  	 public Center()
  	 {
  	 		setLayout(null);
  	 	  setBackground(new Color(204,255,255));
  	 	  name=new Label("用户名:");
  	 	  passWord=new Label("密    码:");
  	 	  textName=new JTextField(12);
  	 	  pswd=new JPasswordField(null,12);
  	 	  zhuce=new JButton("注册");
  	 	  add(name);
  	 	  add(passWord);
  	 	  add(textName);
  	 	  add(pswd);
  	 	  add(zhuce);
  	 	  name.setBounds(40,30,50,20);
  	 	  passWord.setBounds(40,70,50,20);
  	 	  textName.setBounds(90,27,130,25);
  	 	  pswd.setBounds(90,67,130,25);
  	 	  zhuce.setBounds(235,20,60,30);
  	 	  zhuCeDengLu ZCDL=new zhuCeDengLu();
  	 	  zhuce.addActionListener(ZCDL);
  	 }
  	 
  	
  	private class zhuCeDengLu implements ActionListener			//“注册”的事件监视器
	  {
	  	public void actionPerformed(ActionEvent Event)
	  	{
	  		GL=new guanLi();			
	  		GL.setVisible(true);
    		GL.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	  	}
		}
  }
//添加中间信息输入部分代码结束
    private Label name;					//定义一个标签显示“用户名”
    private Label passWord;			//定义一个标签显示“密码”
    private JTextField textName;	//定义一个文本框用来接收用户名
    private JPasswordField pswd;	//定义一个文本框用来接收密码
    private JButton zhuce;				//定义一个按钮用来注册新用户
    
    
    private Connection conn=null;
		private Statement stmt=null;
		private ResultSet rs=null;
		
		public guanLi GL;
		
		private String NAME=null;
		private String PASSWORD="#";
		private char[] PSWD;
		
		
}

⌨️ 快捷键说明

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