ReverseLandscapeTest.java revision 14851:980da45565c8
1/* 2 * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24/* 25 * @test 26 * @key headful 27 * @bug 4254954 28 * @summary PageFormat would fail on solaris when setting orientation 29 */ 30 31import java.awt.*; 32import java.awt.event.*; 33import java.awt.print.*; 34 35public class ReverseLandscapeTest extends Frame { 36 37 private TextCanvas c; 38 39 public static void main(String args[]) { 40 ReverseLandscapeTest f = new ReverseLandscapeTest(); 41 f.show(); 42 } 43 44 public ReverseLandscapeTest() { 45 super("JDK 1.2 Text Printing"); 46 47 c = new TextCanvas(); 48 add("Center", c); 49 50 PrinterJob pj = PrinterJob.getPrinterJob(); 51 52 PageFormat pf = pj.defaultPage(); 53 pf.setOrientation(PageFormat.REVERSE_LANDSCAPE); 54 55 // This code can be added if one wishes to test printing 56// pf = pj.pageDialog(pf); 57 58// if (pj != null && pj.printDialog()) { 59 60// pj.setPrintable(c, pf); 61// try { 62// pj.print(); 63// } catch (PrinterException pe) { 64// } finally { 65// System.err.println("PRINT RETURNED"); 66// } 67// } 68 69 addWindowListener(new WindowAdapter() { 70 public void windowClosing(WindowEvent e) { 71 System.exit(0); 72 } 73 }); 74 75 pack(); 76 } 77 78 class TextCanvas extends Panel implements Printable { 79 80 public int print(Graphics g, PageFormat pgFmt, int pgIndex) { 81 int iw = getWidth(); 82 int ih = getHeight(); 83 Graphics2D g2d = (Graphics2D)g; 84 85 if (pgIndex > 0) 86 return Printable.NO_SUCH_PAGE; 87 88 g2d.translate(pgFmt.getImageableX(), pgFmt.getImageableY()); 89 g2d.translate(iw/2, ih/2); 90 g2d.setFont(new Font("Times",Font.PLAIN, 12)); 91 g2d.setPaint(new Color(0,0,0)); 92 g2d.setStroke(new BasicStroke(1f)); 93 g2d.drawString("Print REVERSE_LANDSCAPE", 30, 40); 94 95 return Printable.PAGE_EXISTS; 96 } 97 98 public void paint(Graphics g) { 99 g.drawString("Print REVERSE_LANDSCAPE", 30, 40); 100 } 101 102 public Dimension getPreferredSize() { 103 return new Dimension(250, 100); 104 } 105 } 106 107} 108