下面是我写的一个JBUTTON的事件处理方法,用于实现打印功能,可有点问题,JBUILDER提示类型转换异常。为什么不能将超类对象显示转换为子类对象??? public void jButtonGDPrint_actionPerformed(ActionEvent e) {
Toolkit kit = Toolkit.getDefaultToolkit();
Properties props = new Properties();
props.put("awt.print.printer", "durango");
props.put("awt.print.numCopies", "2");
if (kit != null) {
PrintJob printJob = kit.getPrintJob(this, "print", props);
if (printJob != null) {
Graphics pg = printJob.getGraphics();
Graphics2D g2 = (Graphics2D) pg; //执行时这行出错,类型转换异常
PageFormat pf = new PageFormat();
g2.translate(pf.getImageableX(), pf.getImageableY());
pg.translate((int)pf.getImageableX(), (int)pf.getImageableY());
if (pg != null) {
try {
this.jScrollPaneGDay.printAll(pg);
}
finally {
pg.dispose();
}
}
printJob.end();
}
}
}
Toolkit kit = Toolkit.getDefaultToolkit();
Properties props = new Properties();
props.put("awt.print.printer", "durango");
props.put("awt.print.numCopies", "2");
if (kit != null) {
PrintJob printJob = kit.getPrintJob(this, "print", props);
if (printJob != null) {
Graphics pg = printJob.getGraphics();
Graphics2D g2 = (Graphics2D) pg; //执行时这行出错,类型转换异常
PageFormat pf = new PageFormat();
g2.translate(pf.getImageableX(), pf.getImageableY());
pg.translate((int)pf.getImageableX(), (int)pf.getImageableY());
if (pg != null) {
try {
this.jScrollPaneGDay.printAll(pg);
}
finally {
pg.dispose();
}
}
printJob.end();
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货