Mega Code Archive

 
Categories / Java / 2D Graphics GUI
 

Printing the Java 1 1 Way

import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.Graphics; import java.awt.Polygon; import java.awt.PrintJob; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class PrintingOneOne {   static class MyComponent extends JPanel {     Random random = new Random();     public void paint(Graphics g) {       Polygon convex, concave, selfintersecting;       convex = new Polygon();       convex.addPoint(20, 20);       concave = new Polygon();       concave.addPoint(100 + 20, 20);       concave.addPoint(100 + 60, 24);       selfintersecting = new Polygon();       for (int i = 0; i < 8; i++) {         selfintersecting.addPoint(200 + random.nextInt(80), 20 + random             .nextInt(80));       }       g.fillPolygon(convex);       g.drawPolygon(concave);       g.fillPolygon(selfintersecting);     }   }   public static void main(String args[]) {     final JFrame frame = new JFrame("Printing 1.1");     Container contentPane = frame.getContentPane();     final Component printIt = new MyComponent();     contentPane.add(printIt, BorderLayout.CENTER);     JButton button = new JButton("Print");     contentPane.add(button, BorderLayout.SOUTH);     ActionListener listener = new ActionListener() {       public void actionPerformed(ActionEvent e) {         Toolkit def = Toolkit.getDefaultToolkit();         PrintJob job = def.getPrintJob(frame, "Print Job", null);         if (job != null) {           Graphics pg = job.getGraphics();           printIt.print(pg);           pg.dispose();           job.end();         }       }     };     button.addActionListener(listener);     frame.setSize(300, 200);     frame.show();   } }