import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JButton; import java.awt.BorderLayout; import java.text.MessageFormat; import javax.swing.JFrame; import java.awt.event.*; public class ImprimerZoneDText { private static void imprimer(JTextArea zoneDeTexte, MessageFormat entete, MessageFormat basDePage) { try { zoneDeTexte.print(entete, basDePage, true, null, null, true); }catch(Exception ex) { ex.printStackTrace(); } } public static void main(String[] args) { final JTextArea zoneText = new JTextArea(); zoneText.setText("Cliquez sur imprimer pour imprimer cet texte"); JScrollPane jScrollPane = new JScrollPane(zoneText); final MessageFormat hautDePage = new MessageFormat("Haut de Page"); final MessageFormat basDePage = new MessageFormat("Bas de Page"); JButton boutonImprimer=new JButton("Imprimer"); boutonImprimer.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt) { imprimer(zoneText, hautDePage, basDePage); } } ); JPanel contentPane = new JPanel(); contentPane.setLayout(new BorderLayout()); contentPane.add(jScrollPane, BorderLayout.CENTER); contentPane.add(boutonImprimer, BorderLayout.SOUTH); JFrame frame = new JFrame(); frame.setTitle("Imprimer zone de Texte en Java"); frame.setSize(600, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(contentPane); frame.setVisible(true); } }