请教。..
java中哪个包的什么方法是设置某个机器为默认打印机的。.
------解决方案--------------------没用过,
接分
------解决方案--------------------javax.print.*;
这个包有打印机
------解决方案--------------------定义打印服务
你可以使用在PrintServiceLookup类中定义的三种静态方法中的一种来定义。最简单的一种就是lookupDefaultPrintService(),正如它的名字一样,它返回一个你默认的打印机:
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
虽然用这个办法很简单也很方便,用它来选择你的打印机意味着用户的打印机一直都支持你的程序所要精确传输的数据输出。实际上,你真正想要的是那种可以处理你想要的数据的类型并且可以支持你要的特征例如颜色或者两边打印。为了从列表中中返回你所要求的特殊功能支持的打印机,你可以使用剩下两个方法中的lookupPrintServices() 或者lookupMultiDocPrintServices()。
lookupPrintServices()方法有两个参数:一个DocFlavor的实例和实现AttributeSet接口的实例。
你马上将看到,你可以使用两者中任意一个来限制返回的打印机,但是lookupPrintServices()允许你指定这两个参数为空值。如果把两者都设为空,那么你得到的返回值将是任意一个可用的打印机。在这种情况下,你并不需要查看PrintService中定义的方法,其中一个getName()方法返回了一个字符串,代表打印机的名字。你可以编译下面的代码来列出你的系统现有的打印机:
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
for (int i = 0; i < services.length; i++)
{
System.out.println(services[i].getName());
}
例如你的系统名为PrintServer,下面有Alpha, Beta, 和Gamma 打印机,用以上代码可以得到以下输出:
\\PrintServer\Alpha
\\PrintServer\Beta
\\PrintServer\Gamma
现在查看那些你可以传给lookupPrintServices()方法的参数来看看如何返回拥有特殊功能的打印机。
DocFlavor
第一个你可以指定的参数是一个DocFlavor类的实例,它描述了将要打印的数据的类型和数据如何存储。在大部分情况下,并不需要去创建一个新的实例因为Java包含了很多预先定义的实例,使得你可以用它们来传给lookupPrintServices()。然而,我们还是来看一下DocFlavor的结构和方法来探讨打印服务如何使用这个实例。
创建DocFlavor实例需要的两个参数都是字符串,一个是MIME (Multipurpose Internet Mail Extensions)类型另一个是类的名字。MIME类型被用于描述数据类型。例如,你要打印一个gif文件,你需要使用MIME类型是image/gif的DocFlavor。相类似,如果你要打印HTML文件里的文本信息要使用MIME类型似text/plain或者text/html。