如何将透明标题JTable打印到PDF文件

时间:2017-02-24 03:52:22

标签: java netbeans printing header jtable

由于这个原因,我坚持将JTable打印成PDF文件:

I have transparent the header of JTable but when I print to PDF it become like this This my JTable transparent

这是我的JTable代码:JTable.setShowGrid(true); JTable.setOpaque(false); ((DefaultTableCellRenderer)JTable.getDefaultRenderer(Object.class)).setOpaque(false);

JTable.getTableHeader().setBackground(new Color(0,0,0,0));
        JTable.getTableHeader().setForeground(Color.BLACK);

我的打印代码:

 public static class Printer implements Printable {
final Component comp;

public Printer(Component comp){
    this.comp = comp;
}

@Override
public int print(Graphics g, PageFormat format, int page_index) 
        throws PrinterException {
    if (page_index > 0) {
        return Printable.NO_SUCH_PAGE;
    }

    // get the bounds of the component
    Dimension dim = comp.getSize();
    double cHeight = dim.getHeight();
    double cWidth = dim.getWidth();

    // get the bounds of the printable area
    double pHeight = format.getImageableHeight();
    double pWidth = format.getImageableWidth();

    double pXStart = format.getImageableX();
    double pYStart = format.getImageableY();

    double xRatio = pWidth / cWidth;
    double yRatio = pHeight / cHeight;


    Graphics2D g2 = (Graphics2D) g;
    g2.translate(pXStart, pYStart);
    g2.scale(xRatio, yRatio);
    comp.paint(g2);

    return Printable.PAGE_EXISTS;
}

}

请帮帮我。 Tks all!

0 个答案:

没有答案