import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.ButtonGroup; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Graphics; import java.awt.PrintJob; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.Properties; class MonDessin extends JPanel { MonDessin() { setPreferredSize(new Dimension(180, 120)); } public void paintComponent(Graphics g) { g.drawOval(50, 20, 80, 80); } } class Imprimer extends JFrame implements ActionListener { MonDessin dessin = new MonDessin(); JButton imprimer = new JButton("imprimer"); JRadioButton choixTout = new JRadioButton("tout", true); JRadioButton choixDessin = new JRadioButton("dessin", false); Imprimer() { ButtonGroup choix = new ButtonGroup(); choix.add(choixTout); choix.add(choixDessin); JPanel p = new JPanel(); p.add(choixTout); p.add(choixDessin); add(p, BorderLayout.NORTH); add(dessin, BorderLayout.CENTER); add(imprimer, BorderLayout.SOUTH); imprimer.addActionListener(this); pack(); setVisible(true); } 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 (this, "Impression", props); if (demandeDImpression != null) { Graphics gImpr = demandeDImpression.getGraphics(); if (choixTout.isSelected()) printAll(gImpr); else dessin.printAll(gImpr); gImpr.dispose(); demandeDImpression.end(); } } } public class ImprimerApplet extends JApplet { public void init() { new Imprimer(); } }