猿问

如何水平打印 jframe 或为其提供打印属性?

这是我正在使用的代码,我需要知道我可以在这里更改属性的位置,因为如果我在这里运行它,它会向我发送打印部分,您可以在其中选择打印机或为其提供属性,我需要它水平和默认它是垂直的


public int print(Graphics grap, PageFormat pagFor, int index) throws 

PrinterException {


if (index > 0) 

 {


        return NO_SUCH_PAGE;

    }

    // pagFor.setOrientation(0);


    pagFor.setOrientation(PageFormat.LANDSCAPE);

    Graphics2D hub = (Graphics2D) grap;


    hub.translate(pagFor.getImageableX() + 5, pagFor.getImageableY());

    hub.scale(0.5, 0.5);


    jPanel1.printAll(grap);


    return PAGE_EXISTS;

}


holdtom
浏览 103回答 1
1回答

心有法竹

您需要在开始打印之前更改方向PrinterJob pj = PrinterJob.getPrinterJob();pj.setJobName("My super-dup awesome print job");PageFormat pf = pj.defaultPage();pf.setOrientation(PageFormat.LANDSCAPE);pf = pj.validatePage(pf);pj.setPrintable(..., pf);if (!pj.printDialog()) {    return;}try {    pj.print();} catch (PrinterException ex) {    ex.printStackTrace();}注意:用户可以在打印对话框中改变方向,你只需要在你的 Printable
随时随地看视频慕课网APP

相关分类

Java
我要回答