下面是我写的一个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();
      }
    }
  }