Utilise PrintJob !!! (suite à des problèmes de compatibilités des attributs de PrinterJob)
classe impression.Impression : la boîte de dialogue
interface impression.ComponentImprimable : l'objet à imprimer doit l'implementer
il y a également une application bidon pour donner un exemple
tout Object est imprimable dès qu'il implemente l'interface
celle-ci demande une méthode
public void paintComponent(Graphics g)
dans laquelle ce qui doît être imprimé est dessiné sur g
ainsi qu'une méthode demandant de désactiver les doubles buffers durant l'impression
(nécessaire pour préserver la qualité lors des redimensionnements)
pour un JComponent, il est donc necessaire de redefinir paintComponent car elle est protected
il faut donc au minimum rajouter
public void paintComponent(Graphics g) {
super.paintComponent(g);
//dessins...
}
pour une JFrame (qui n'est pas un JComponent) paintComponent n'existe pas à l'origine. On peut définir par exemple
public void paintComponent(Graphics g) {
super.paint(g);
}
mise à jour 1 : correction d'un alignement dans la boîte de dialogue