Filter:   InfoImg
download Print.java
Language: Java
LOC: 62
Project Info
' href='/info.aspx?c=ProjectInfo&pid=P4U8PWB5R6WUX1WQBD5H456NNA'> BeOnTime
Server: BerliOS
Type: cvs
...umlv\smoreau\beontime\test\
   .cvsignore
   Clipboard.java
   DragAndDrop.java
   Print.java
   TestDate.java
   TestJunit.java
   TestLDAP.java
   TestSql.java

package fr.umlv.smoreau.beontime.test;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Properties;

class MonDessin extends JPanel {
    MonDessin() {
	setPreferredSize(new Dimension(180, 120));
    }
    public void paintComponent(Graphics g) {
	super.paintComponent(g);
	g.drawOval(50, 20, 80, 80);
    }
}

class Print extends JPanel implements ActionListener {
    MonDessin dessin = new MonDessin();
    JButton imprimer = new JButton("imprimer");
    JRadioButton choixTout = new JRadioButton("tout", true);
    JRadioButton choixDessin = new JRadioButton("dessin", false);
    JFrame fenetre;

    Print(JFrame _fenetre) {
	fenetre = _fenetre;
	setLayout(new BorderLayout());
	JPanel p = new JPanel();
	p.add(choixTout);
	p.add(choixDessin);
	add(p, BorderLayout.NORTH);

	ButtonGroup choix = new ButtonGroup();
	choix.add(choixTout);
	choix.add(choixDessin);
	
	add(dessin, BorderLayout.CENTER);
	
	imprimer.addActionListener(this);
	add(imprimer, BorderLayout.SOUTH);
    }
    
    public void actionPerformed(ActionEvent e) {
	Properties props = new Properties();
	
	props.setProperty("awt.print.paperSize", "A4");
	props.setProperty("awt.print.destination", "printer");
	
	PrintJob demandeDImpression = getToolkit().getPrintJob(fenetre, "Impression", props);
		if (demandeDImpression != null) {
		    Graphics gImpr = demandeDImpression.getGraphics();
		    
		    if (choixTout.isSelected())
		    	fenetre.printAll(gImpr);
		    else
		    	dessin.printAll(gImpr);
		    gImpr.dispose();
		    demandeDImpression.end();
		}
    }
    
    public static void main(String[] arg) {
	JFrame cadre = new JFrame();
	cadre.setContentPane( new Print(cadre));
	cadre.pack();
	cadre.setLocation(100, 100);
	cadre.setVisible(true);
	
	cadre.addWindowListener(new WindowAdapter() {
		public void windowClosing(WindowEvent evt) {
		    System.exit(0);
		}
		});
    }
}