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

📄 haircutshopmanage.java

📁 本人课程设计用JAVA开发的理发店管理系统。可以高效率地管理理发店的运营 包括顾客的排队等待 计时 计费跟踪 营业额汇总等功能
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
               	           }
               	         else if("保存文件".equals(getValue(NAME)))
               	           saveFile();
               	     }
               	}
              /**
               *保存文件
               */
               public void saveFile()
                  {
                  	try
                  	{
                  	Date d=new Date();
                  	String s=""+d.getYear()+""+d.getMonth()+""+d.getDay()+".hsm";
                  	 ObjectOutputStream o=
               	                 new ObjectOutputStream(
               	                    new BufferedOutputStream(
               	                    	new FileOutputStream(s)));
               	               	o.writeObject(dateData);
               	                 o.close();
               	                 isChanged=false;
               	                 saveTempFileAcition.setEnabled(false);
               	       }
               	     catch(Exception ex)
               	               {
               	               	ex.printStackTrace();
               	               	JOptionPane.showMessageDialog(null,"保存文件操作失败","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
               	               }    
                  }
             /**
              *打开文件
              */
              public void loadFile(String s)
              {
              	if(s==null)
              	   {
              	 	JOptionPane.showMessageDialog(null,"操作不正确","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
                 	return;
                   }   
                try{
                	  ObjectInputStream o=
               	         	        new ObjectInputStream(
               	         	        	new BufferedInputStream(
               	         	        		new FileInputStream(s)));
               	         	dateData=(DateData)(o.readObject());
               	         	haircutShop=dateData.haircutShop;
               	         	o.close();
               	         	newDay();
               	         	isChanged=false;
               	            saveTempFileAcition.setEnabled(false);
                	}  
                 catch(Exception ex)
               	               {
               	               	ex.printStackTrace();
               	               	JOptionPane.showMessageDialog(null,"打开文件操作失败","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
               	               }          
              	}
            /**
             *打开临时文件
             */
            public void loadTempFile()
             {
             	String s=curPath;
             	try
               	   {
               	       if(curPath!=null)files=new JFileChooser(curPath);
                       else 
               	          files=new JFileChooser();
               	       checkForSave();
               	       int result=files.showOpenDialog(this);
               	       File f;
                   	   if(result==files.APPROVE_OPTION)
               	        {
               	         	f=files.getSelectedFile();
               	         	ObjectInputStream o=
               	         	        new ObjectInputStream(
               	         	        	new BufferedInputStream(
               	         	        		new FileInputStream(f)));
               	         	dateData=(DateData)(o.readObject());
               	         	haircutShop=dateData.haircutShop;
               	         	o.close();
               	         	newDay();
               	         	isChanged=false;
               	            saveTempFileAcition.setEnabled(false);
               	        }
               	   } 
               	 catch(Exception ex)
               	               {
               	               	ex.printStackTrace();
               	               	curPath=s;
               	               	JOptionPane.showMessageDialog(null,"打开临时文件操作失败","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
               	               } 
             }
            /**
             *
             */
             public void checkForSave()
                {
                   if(isChanged==true)
                    if(JOptionPane.NO_OPTION==JOptionPane.showConfirmDialog(
               	         	 	      this,"你的当前状态还没保存。保存它?","理发店经营软件",
               	         	 	      JOptionPane.YES_NO_OPTION,
               	         	 	      JOptionPane.WARNING_MESSAGE))
               	    return;
               	   else saveTempFile();
                }
           /**
            *将临时文件另存
            */ 
           private JFileChooser files;
           private String curPath=null;//储存当前地址--只要有过保存的话
           private boolean isChanged=false;//看当前状态是否与保存前相同
           public void saveAsTempFile()
               {
               	String s=curPath;
               	try
               	   {
               	       if(curPath!=null)files=new JFileChooser(curPath);
                       else 
               	          files=new JFileChooser();
               	       int result=files.showSaveDialog(this);
               	       File f;
                   	 if(result==files.APPROVE_OPTION)
               	        {
               	         	f=files.getSelectedFile();
               	         	if(f.exists())
               	         	 if(JOptionPane.NO_OPTION==JOptionPane.showConfirmDialog(
               	         	 	      this,f.getName()+"已经存在,覆盖它?","理发店经营软件",
               	         	 	      JOptionPane.YES_NO_OPTION,
               	         	 	      JOptionPane.WARNING_MESSAGE))
               	         	return;
               	         	curPath=f.getPath();
               	               ObjectOutputStream o=
               	                 new ObjectOutputStream(
               	                    new BufferedOutputStream(
               	                    	new FileOutputStream(f)));
               	               	o.writeObject(dateData);
               	                 o.close();
               	                 isChanged=false;
               	                 saveTempFileAcition.setEnabled(false);
               	    }
               	    }
               	    catch(Exception ex)
               	               {
               	               	ex.printStackTrace();
               	               	curPath=s;
               	               	JOptionPane.showMessageDialog(null,"保存临时文件操作失败","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
               	               }
               	}
           /**
            *保存临时文件
            */
            public void saveTempFile()
                  {
                  	try
                        {
                  	       if(curPath!=null)
                  	          {
                  	        	ObjectOutputStream o=
               	                  new ObjectOutputStream(
               	                    new BufferedOutputStream(
               	                    	new FileOutputStream(curPath)));
               	                o.writeObject(dateData);
               	                o.close();
               	                isChanged=false;
               	                 saveTempFileAcition.setEnabled(false);
                              }
                            else saveAsTempFile();
                        }
                       catch(Exception ex)
               	               {
               	               	ex.printStackTrace();
               	               	JOptionPane.showMessageDialog(null,"保存临时文件操作失败","理发店经营软件",JOptionPane.PLAIN_MESSAGE);
               	               } 
                  	}
          /**
           *工作事件处理
           */     	
          class WorkAction extends AbstractAction
               {
               	  public WorkAction(String name,String tooltip)
               	    {  
               	        super(name);
               	        if(tooltip!=null)
               	          putValue(SHORT_DESCRIPTION,tooltip);
               	    }
               	  public void actionPerformed(ActionEvent e)
               	     {
               	       if("新的一天".equals(getValue(NAME)))  
               	        {
               	        	dateData=new DateData(haircutShop);
               	        	checkForSave();
               	        	isEndWork=false;
               	        	saveTempFileAcition.setEnabled(false);
               	        	newDay();
               	        }
               	        else if("营业时间到".equals(getValue(NAME)))
               	            {
               	            	dateData.closeShopTime=new Date();
               	            	isEndWork=true;
               	            	endWorkAction.setEnabled(false);
               	            }
               	        else if("理发师报到".equals(getValue(NAME))||"理发师离开".equals(getValue(NAME))||"顾客开始理发".equals(getValue(NAME))||"顾客结帐离开".equals(getValue(NAME)))  
               	           {
               	             String s=JOptionPane.showInputDialog(null,"输入理发师编号:","理发店经营软件",JOptionPane.INFORMATION_MESSAGE);
               	     	     try
               	              { 
               	     	         if(s!=null)
               	     	            {
               	     	            int a=Integer.parseInt(s);
               	     	         	if("理发师报到".equals(getValue(NAME)))
               	     	         	    barbercheckIn(a);
               	     	         	else if("顾客开始理发".equals(getValue(NAME)))
               	     	            	buyerBeginHaitcut(a);
               	     	         	else if("顾客结帐离开".equals(getValue(NAME)))
               	     	         	    buyerLeaveWithCheckOut(a);
               	     	         	else barberLeave(a);
               	     	            }
               	             	  }
               	         	catch(Exception ex)
               	         	    {
               	         	    	ex.printStackTrace();
               	        	    	JOptionPane.showMessageDialog(null,"输入格式错误","理发店经营软件",JOptionPane.ERROR_MESSAGE);
               	                 }
               	          }
               	       else if("新顾客".equals(getValue(NAME))) 
               	         {  
               	            String s=JOptionPane.showInputDialog(null,"输入顾客选择的级别:","新顾客",JOptionPane.INFORMATION_MESSAGE);
               	     	     try
               	              { 
               	     	         if(s!=null)
               	     	            {
               	     	            int a=Integer.parseInt(s);
               	     	            newbuyer(a);
               	     	            }
               	             	  }
               	         	catch(Exception ex)
               	         	    {
               	        	    	ex.printStackTrace();
               	        	    	JOptionPane.showMessageDialog(null,"输入格式错误","新顾客",JOptionPane.ERROR_MESSAGE);
               	                 }
               	        }
               	      else if("顾客提前离去".equals(getValue(NAME))) 
               	         {
               	         	new BuyerAdvaceMoveDialog(HaircutShopManage.this,"用户提前离去");
               	         }
               	      else if("顾客更改选择".equals(getValue(NAME))) 
               	         {
               	         	new BuyerChangeSelectDialog(HaircutShopManage.this,"顾客更改选择");
               	         }
               	     }
               }
           /**
            *实现顾客更改选择的对话框
            */    
           class BuyerChangeSelectDialog extends JDialog implements ActionListener
               {
                  private JPanel p1,p2,p3,p4,p5;
               	  private JButton sure,cancel;
               	  private JLabel idLabel,levelLabel,newLevelLabel;
               	  private JTextField idText,levelText,newLevelText;
               	  private HaircutShopManage h;
               	  public BuyerChangeSelectDialog(JFrame parent,String title)
               	     {
               	     	super(parent,title,true);
               	     	if(parent!=null&&parent instanceof HaircutShopManage)
               	     	h=(HaircutShopManage)parent;
               	     	sure=new JButton("确定");
               	     	cancel=new JButton("取消");
               	     	levelLabel=new JLabel("输入用户所在的队列的级别:");
               	     	idLabel=new JLabel("输入用户在当前队列中的序号:");
               	     	newLevelLabel=new JLabel("输入用户新选择的级别:");
               	     	idText=new JTextField(10);
               	     	levelText=new JTextField(10);
               	     	newLevelText=new JTextField(10);
               	     	p1=new JPanel();
               	     	p2=new JPanel();
               	     	p3=new JPanel();
               	     	p5=new JPanel();
               	     	p1.add(idLabel);
               	     	p1.add(idText);
               	     	p2.add(levelLabel);
               	     	p2.add(levelText);
               	     	p3.add(sure);
               	     	p3.add(cancel);
               	     	p5.add(newLevelLabel);
               	     	p5.add(newLevelText);
               	     	sure.addActionListener(this);
               	     	cancel.addActionListener(this);
               	     	if(parent!=null)
               	     	   {
               	     	   	Dimension parentSize=parent.getSize();
               	     	   	Point p=parent.getLocation();
               	     	   	setLocation(p.x+parentSize.width/4,p.y+parentSize.height/4);
               	     	   }
               	       p4=new JPanel(new GridLayout(3,1));
               	       p4.add(p2);
               	       p4.add(p1);
               	       p4.add(p5);
               	       getContentPane().add(p4,BorderLayout.CENTER);
               	       getContentPane().add(p3,BorderLayout.SOUTH);
               	       setDefaultCloseOperation(DISPOSE_ON_CLOSE);
               	       pack();
               	       setVisible(true);
               	     }
               	 public void actionPerformed(ActionEvent e)

⌨️ 快捷键说明

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