Imprimer un graphics

Soyez le premier à donner votre avis sur cette source.

Vue 17 637 fois - Téléchargée 2 078 fois

Description

Mon code premet de créer une interface graphique dans le but d'imprimer un bordereau de remise de chèque sur une imprimante spéciale (Matricielle).
Il cré un Graphics2D sans bordure pour imprimer sur le bordereau aux endroits voulus.
L'imprimante n'accepte pas le format paysage, donc le Graphics2D permet de faire pivoter de 90° mon interface. ce graphique est integré dans une nouvelle JFrame pour l'imprimer.
Le problème est que je n'arrive pas imprimer ce graphique, il n'a pas l'air intégré au JPanel.

Conclusion :


Mon projet est au stade du développement et ne fonctionne pas correctement.
Il a un problème d'impression.
La difficulté est qu'il faut que je fasse pivoter de 90° le contenu de la JFrame et de l'imrpimer.
Ce qui ne marche pas est l'impression, le graphics ne veux pas s'imprimer.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
brahimhakkou Messages postés 44 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 7 mai 2007
21 janv. 2006 à 23:11
salut je veux imprimer une interface en java et je sais pas quand je click sur imrimer il m'imprime la page blanche veuillez m'aider svp
voici le code et merci


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

public class Premier extends JFrame implements ActionListener
{

JButton imp = new JButton("imprimer");

JButton aj=new JButton("Ajouter");
JButton an=new JButton("Annuler");
JLabel nom=new JLabel("Nom");
JTextField text=new JTextField(" ");
//ButtonGroup choix = new ButtonGroup();


public Premier()
{
setTitle("Premier");
setSize(700,350);
setLocation(100,100);
Container cont=getContentPane();

JPanel pan1=new JPanel();
JPanel pan2=new JPanel();
pan1.add(nom);
pan1.add(text);
pan2.add(aj);
pan2.add(an);
pan2.add(imp);
aj.addActionListener(this);
an.addActionListener(this);
imp.addActionListener(this);
cont.setLayout(new BorderLayout());
cont.add(pan1, BorderLayout.CENTER);
cont.add(pan2, BorderLayout.SOUTH);

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
});



}


public void actionPerformed(ActionEvent e)
{
if (e.getSource()==an)
{dispose();}


Properties props = new Properties();

props.put("awt.print.paperSize", "a4");
props.put("awt.print.destination", "printer");


PrintJob pJob = getToolkit().getPrintJob(this,
"Printing_Test", props);
if (pJob != null)
{
Graphics pg = pJob.getGraphics();
pg.dispose();







}
}


public static void main(String [] a)
{
Premier fen=new Premier();
fen.setVisible(true);


}
}
mohaciel Messages postés 10 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 10 juin 2008
8 janv. 2006 à 18:07
salut,
je suis débutant en java ,
j'en ai besoin d'un code permettant de crée un repertoire.
merci
cs_lupiotte Messages postés 18 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 24 août 2004
5 août 2004 à 17:38
ce n'est pas le panel que j'implémente mais la Jframe
et j'ai deja essayé le setDoubleBuffered(false) sans succés

alors je ne sais plus
si tu as une autre solution , je suis toujors preneur
Merci
MasterFangorn Messages postés 6 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 13 août 2004
3 août 2004 à 19:36
Je suppose que tu implémente l'interface Printable ou Pageable sur ton panel où il y'a le Graphics à imprimer.

Si c'est le cas, essaie de faire setDoubleBuffered(false) sur ton panel.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.