1 Mart 2018 Perşembe

Awt Printable Arayüzü

print metodu
Şöyle yaparız.
public class Printer implements Printable {
  final Component comp;

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

  @Override
  public int print(Graphics graphics, 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) graphics;
    g2.translate(pXStart, pYStart);
    //g2.scale(xRatio, yRatio);
    comp.print(g2);

    return Printable.PAGE_EXISTS;
  }
}

Hiç yorum yok:

Yorum Gönder