Imprimer un graphics

Soyez le premier à donner votre avis sur cette source.

Vue 17 352 fois - Téléchargée 2 053 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
Messages postés
44
Date d'inscription
samedi 21 janvier 2006
Statut
Membre
Dernière intervention
7 mai 2007

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);


}
}
Messages postés
10
Date d'inscription
lundi 16 mai 2005
Statut
Membre
Dernière intervention
10 juin 2008

salut,
je suis débutant en java ,
j'en ai besoin d'un code permettant de crée un repertoire.
merci
Messages postés
18
Date d'inscription
jeudi 29 juillet 2004
Statut
Membre
Dernière intervention
24 août 2004

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
Messages postés
6
Date d'inscription
samedi 6 mars 2004
Statut
Membre
Dernière intervention
13 août 2004

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.