调用Graphics对象的clipRect()方法,把需要的区域剪下来
看看我做的程序段:    public void PrintFrame()
    {
        Toolkit kit = Toolkit.getDefaultToolkit(); //获取工具箱
        PageFormat pf = PrinterJob.getPrinterJob().defaultPage();        Properties props = new Properties();
        props.put("awt.print.printer", "durango");//设置打印属性
        props.put("awt.print.numCopies", "2");
        PreviewPanel preview = new PreviewPanel();
        if(kit != null)
        {
            //获取工具箱自带的打印对象
        PrintJob printJob = kit.getPrintJob(this, "Print Frame", props);
            if(printJob != null)
            {
                Graphics pg = printJob.getGraphics();//获取打印对象的图形环境
                if(pg != null)
                {
                    try
                    {
                        //pg.translate(-desktopPane.getX(), -desktopPane.getY());                        pg.clipRect(desktopPane.getX()+3,
                            desktopPane.getY()+88,
                            desktopPane.getWidth(),desktopPane.getHeight()); //剪切区域
                         this.paintAll(pg);//打印该窗体及其所有的组件
                    }
                    finally
                    {
                        pg.dispose();//注销图形环境
                    }
                }
                printJob.end();//结束打印作业
            }
        }    }