private static void init() { String[] instructions = { "To be able to run this test it is required to have a default", "printer configured in your user environment.", "If no default printer exists, then test passes.", " ", "There will be 2 print dialogs. The first dialog should show", "portrait as the selected orientation. The 2nd dialog should show", "landscape as the selected orientation.", " ", "Visual inspection of the printed pages is needed. A passing", "test will print 2 pages in portrait and 2 pages in landscape.", "The pages have on the center of the page the text \"Center\"", "2 rectangles will appear above and below it, the one below is", "filled." }; Sysout.createDialog(); Sysout.printInstructions(instructions); PrintJob job = null; Dimension dim = null; JobAttributes jobAttributes = new JobAttributes(); PageAttributes pageAttributes = new PageAttributes(); String center = "Center"; Font font = new Font("SansSerif", Font.PLAIN, 200); FontMetrics metrics = null; int width = 0; Graphics g = null; jobAttributes.setDialog(DialogType.NATIVE); pageAttributes.setOrigin(OriginType.PRINTABLE); pageAttributes.setPrinterResolution(new int[] {1200, 1200, 3}); pageAttributes.setOrientationRequested(OrientationRequestedType.PORTRAIT); jobAttributes.setSides(SidesType.TWO_SIDED_LONG_EDGE); job = f.getToolkit().getPrintJob(f, "Portrait Test", jobAttributes, pageAttributes); if (job != null) { dim = job.getPageDimension(); for (int i = 0; i < 2; i++) { g = job.getGraphics(); g.drawLine(0, 0, dim.width, 0); g.drawLine(dim.width, 0, dim.width, dim.height); g.drawLine(dim.width, dim.height, 0, dim.height); g.drawLine(0, dim.height, 0, 0); g.drawRect(dim.width / 2 - 200, dim.height / 3 - 300, 400, 600); g.fillRect(dim.width / 2 - 200, 2 * dim.height / 3 - 300, 400, 600); g.setFont(font); metrics = g.getFontMetrics(); width = metrics.stringWidth(center); g.setColor(Color.black); g.drawString(center, (dim.width / 2) - (width / 2), dim.height / 2); g.dispose(); } job.end(); job = null; } pageAttributes.setOrientationRequested(OrientationRequestedType.LANDSCAPE); job = f.getToolkit().getPrintJob(f, "Landscape Test", jobAttributes, pageAttributes); if (job != null) { dim = job.getPageDimension(); for (int i = 0; i < 2; i++) { g = job.getGraphics(); g.drawLine(0, 0, dim.width, 0); g.drawLine(dim.width, 0, dim.width, dim.height); g.drawLine(dim.width, dim.height, 0, dim.height); g.drawLine(0, dim.height, 0, 0); g.drawRect(dim.width / 2 - 200, dim.height / 3 - 300, 400, 600); g.fillRect(dim.width / 2 - 200, 2 * dim.height / 3 - 300, 400, 600); g.setFont(font); metrics = g.getFontMetrics(); width = metrics.stringWidth(center); g.setColor(Color.black); g.drawString(center, (dim.width / 2) - (width / 2), dim.height / 2); g.dispose(); } job.end(); job = null; } System.out.println("done"); }