programa de impresión universal de trabajo de interfaz java

programa de impresión universal de trabajo de interfaz java

Inserte la descripción de la imagen aquí

Sin realizar operaciones específicas, es muy abstracto. . . Solo eche un vistazo a Ababa.

package Allprint;

//打印接口
public interface Print {
    
    
    public void  ready_to_print();//准备打印
    public void printing();//正在打印
    public void print_end();//打印结束
    public void addpt();
}

package Allprint;

//适配器
public abstract class Print_USB implements Print{
    
    
	//准备打印
    public void ready_to_print()
    {
    
    
    	
    }
    //正在打印
    public void printing()
    {
    
    
    	
    }
    //打印完毕
    public void print_end()
    {
    
    
    	
    }
    //添加文件
    public void addpt()
    {
    
    
    	
    }
    
}

package Allprint;

//Word 文件类型
public class Word extends Print_USB{
    
    
	
	
    public void ready_to_print()
    {
    
    
    	System.out.println("Word文档准备打印");
    }
    
    public void printing()
    {
    
    
    	System.out.println("Word 文档正在打印中");
    }
    
    public void print_end()
    {
    
    
    	System.out.println("Word文件打印完毕");
    }
    
    public void addpt()
    {
    
    
    	System.out.println("Word文件加入打印队列");
    }
}

package Allprint;

//Pdf 文件类型
public class Pdf extends Print_USB{
    
    

    public void ready_to_print()
    {
    
    
    	System.out.println("PDF文件准备打印");
    }
    
    public void printing()
    {
    
    
    	System.out.println("PDF文件正在打印中");
    }
    
    public void print_end()
    {
    
    
    	System.out.println("PDF文件打印完毕");
    }
    
    public void addpt()
    {
    
    
    	System.out.println("PDF文件加入打印队列");
    }

}

package Allprint;

//XLS 文件类
public class Xls extends Print_USB{
    
    


    public void ready_to_print()
    {
    
    
    	System.out.println("XLS文件准备打印");
    }
    
    public void printing()
    {
    
    
    	System.out.println("XLS文件正在打印中");
    }
    
    public void print_end()
    {
    
    
    	System.out.println("XLS文件打印完毕");
    }
    public void addpt()
    {
    
    
    	System.out.println("Xls文件加入打印队列");
    }
}

package Allprint;

//操作的电脑
public class Computer {
    
    
	
    private Print[] ptt=new Print[200];
    private int Print_num=0;
    
    public void add(Print pt)
    {
    
    
    	 Print_num++;
    	 ptt[Print_num]=pt;
    	 pt.addpt();
    }
    
    //查询准备打印的文件
    public void ck_ready_to_print()
    {
    
    
    	for(int i=0;i<ptt.length;i++)
    	{
    
    
    		if(ptt[i]!=null)
    		{
    
    
    			ptt[i].ready_to_print();
    		}
    	}
    }
    
    //查询正在打印的文件
    public void ck_printing()
    {
    
    
    	for(int i=0;i<ptt.length;i++)
    	{
    
    
    		if(ptt[i]!=null) 
    		{
    
    
    			//正在打印
    			ptt[i].printing();
    			
    			//其他函数....
    			
    			//结束打印
    			ptt[i].print_end();
    			break;//只找到现在打的一份即可
    		}
    	}
    }
    
    //查询目前有多少文件等待打印
    public void wait_num(int a)
    {
    
    
    	if(a==1)
    	{
    
    
    		System.out.println("目前有 "+Print_num+" 份文件等待打印");
        	ck_ready_to_print();
    	}
    	else 
    	{
    
    
    		System.out.println("目前打印文件是");
    		ck_printing();
    	}
    	 
    }
}

package Allprint;

import java.util.Scanner;

//测试类
public class Tsxt {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
    
		Computer p=new Computer();
		
		Scanner input= new Scanner(System.in);
		while(true)
		{
    
    
		System.out.println("选择操作编号");
		System.out.println("查询目前打印文件(1) 添加打印文件(2)");
		int n=input.nextInt();
		switch(n)
		{
    
    
	    	case 1:
	    		{
    
       
	    			System.out.println("查询打印队列(1)查询目前打印文件(2)");
	    			int cs1=input.nextInt();
	    			p.wait_num(cs1);break;
	    		
	    		}
	    	case 2:
	    	    {
    
    
	    	    	 System.out.println("填写要添加的文件序号");
	    	    	 System.out.println("Word(1) Pdf(2) Xls(3)");
	    		     int cs2=input.nextInt();
	    		     switch(cs2)
	    		     {
    
    
	    		         case 1:p.add(new Word());break;
	    		         case 2:p.add(new Pdf());break;
	    		         case 3:p.add(new Xls());break;
	    		     }
		        }
		
	   }
    }
	}

}

Supongo que te gusta

Origin blog.csdn.net/m0_46288176/article/details/115282736
Recomendado
Clasificación