java 打印 应用程序中用Graphics类
摘要: 怎样在应用程序中用Graphics类?
PrintJob、Printable类:
打印主要通过PrintJob类的print的回调函数来实现打印的全部工作。PrintJob类是抽象类,不能new一个实例,但通过它的一个静态方法getPrintJob就可以得到一个PrintJob句柄。有了这样一个操纵杆,我们可以随时打开开关,叫它“快给我打印!”(print),如果这样,它会问你:“叫我打印什么呢?”,即回调你的打印内容,如果你没有打印的内容,它会抛出一句话:“没有东西嘛!”(PrintException)。否则它就会忠实的根据需求打印。
所以你应该提供一个可打印的内容(Printable)。只有一个方法需要你实现:
print(Graphics g , PageFormat pf , int pageIndex );
你所有的打印控制其实都是在该方法中实现。提供一个最简单的例子:
import java.awt.Graphics;
import java.awt.print.*;
public class TestPrint {
public static void main(String[] args) {
PrintJob job = PrintJob.getPrintJob();//获得句柄。
job.setPrintable(new Hello());//告诉job到哪里找打印内容。
try{
job.print();//快给我打印!
}catch(PrintException e) {
System.out.println(“没有东西嘛!”);//或打印机硬件问题。
}
}
class Hello implements Printable {//可打印的内容。
public int print(Graphics g , //可以任意画打印的内容的白纸。
PageFormat pf , // 打印格式,缺省。
int pageIndex ) {// 页码,从0开始。
if(pageIndex != 0 )return NO_SUCH_PAGE;//停止打印。
g.drawString(“Hello World!”,100,100);//在纸上画字符串。
return PAGE_EXITS;//继续打印。
}
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载