BBS水木清华站∶精华区

发信人: LINU (落梅如雪), 信区: Java        
标  题: Java 打印 
发信站: BBS 水木清华站 (Sun Jan  7 23:01:04 2001) 
 
1.Java 2 Printing Api 
对一个GUI程序来说,打印和打印预览是现在大多数程序都要实现的功能。 
在Java2之前,显然设计者们做的不太好。 
但Java2 之后大为改观。先介绍一下Java2提供的与打印有关的API. 
1.1 PrintJob 
 
    class java.awt.print.PrinterJob 
    这个类是Java2中控制打印的最主要的一个类。 
    一个典型的打印过程如下: 
    PrinterJob prnJob=PrinterJob.getPrinterJob(); //返回一个PrintJob实例 
    prnJob.setPrintable(myPrintable);  //设置PrintJob的可打印对象 
    if(!prnJob.printDialog())       //显示一个与平台有关的打印dialog. 
                   // 比如在windows里就是大家熟悉的一个 
                   // PrintDialog有OK,Cancel的button,还有设置打印范围的 
                   //文本框等。如果按了Cancel,则返回false.不打印 
       return; 
    prnJob.print();//否则,调用print方法,进行打印。 
 
    其中的可打印对象是一个实现了Printable 接口的对象。 
    凡是希望打印的对象都要实现此接口。 
1.2 Printable 接口. 
    abstract interface java.awt.print.Printable 
    该接口只定义了一个方法:print, 
    有三个参数: 
    Graphics graphics:类似于VC中的CDC,即设备环境,graphics context 
           注意:这个graphics 可以在 print方法中转换为Graphics2D对象。 
           就可以利用最新的2D功能 
    PageFormat pageFormat: 关于页格式的一个对象。由此对象可以得到或设置 
                  页的可打印范围,打印方向等等。 
    int pageIndex:将要打印的页的编号,由零开始。 
    print 方法的返回值有两个: PAGE_EXISTS  当本页成功打印 
                               NO_SUCH_PAGE 当index太大或不存在本页。 
 
    太晚了,睡去先。                                                          
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.216.18] 

BBS水木清华站∶精华区