ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 2013
-
8 avril 2007 à 21:19
gmi19oj19
Messages postés545Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 2011
-
13 avril 2007 à 13:33
salut mes amis je viens d'essayer de realiser une application pour lancer une impression mais ça ne marche pas
voila le code
gmi19oj19
Messages postés545Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 20112 9 avril 2007 à 09:36
Salut,
Premier message => Logique, a m'éthode imprmer n'est applicable qu'à des objets de type SimpleFenetre, et donc pas à un JTextField. A la rigueur, tu peux appeler la méthode directement et faire des traitements sur ton label dedans, ça ça marche
Deuxième message => Dans al clase PrinterJob, setPrintable() prend au moins un paramètre, je t'invite à regarder la javadoc associée à la classe.
Par ailleurs, tu vas devoir implemanter l'interface Printable. Un p'tit tour sur google pour voir commenton fait devrait t'aider
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 9 avril 2007 à 13:35
salut
je viens de lire tes commentaires mais je n'ai rien compris , et en plus j'ai bien lis la doc comment faire lancer une impression , commetn sera la modification de mon code
merci
gmi19oj19
Messages postés545Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 20112 9 avril 2007 à 13:52
Salut,
Je ne peux te donner une correction exacte à 100%, vu que je n'ai jamais géré d'impression en Java. Cependant, au risquer de me repeter.
Ta méthode imprimer() , définié dans la classe SimpleFenetre, ne peut s'appliquer qu'à un objet de tuype SimpleFenetre.
Si tu fais un objet.imprimer(), objet DOIT être de type SimpleFenetre. Toi, tu cherches à l'appeler sur ton JTextField nom, c'estpour cela que ça ne marche pas.
Donc, il faut appeler imprimer() et non nom.imprimer().
Deuxièmement, tu n'as pas bien regarder ta javadoc. Dans la classe PrinterJob, setPrintable() N'EXISTE PAS. Les méthodes qui existent sont :
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 9 avril 2007 à 16:14
voila je viens de modifier mon code
alors si je clik sur le bouton imprimer une fenetre impression apparait
ma question comment créer un état d'impression en java préparer la page d'impression pour imprimer le JTextField<!-- / message -->
Vous n’avez pas trouvé la réponse que vous recherchez ?
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 9 avril 2007 à 23:35
je viens de modifier le code ,Le problème c'est qu'il m'imprime toute ma fenêtre. je voudrais juste qu'il m'imprime juste le texte et non la fenêtre
<!-- nothing comment --><!-- nothing comment -->
http://i12.tinypic.com/48df8k2.jpg
Le this fait référence à ta fenetre, du coup tu vas imprimer effectivement toute ta fenetre.
Ce qu'il faudrait, c'est modifier ton interface graphique pour avoir ton label et ton textfield dans un même panel, avec rien d'autre (ce panel étant déclarer en tant que variable d'instance, et non seulement dans le constructeur). Ensuite, tu appelles ta méthode comme ceci :
PrintJob job = getToolkit().getPrintJob(unPanel,"ulysse",null);
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 10 avril 2007 à 15:04
merci mais j'ai ajouté cette ligne mais ça ne marche pas
PrintJob job = getToolkit().getPrintJob(pan,"ulysse",null);
mais un message d'erreur
Simplefenetre .java cannot resolve variable in class aa.SimpleFenetre at line67 .colon 46
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 11 avril 2007 à 11:30
salut , je coince encore car je n'ai pas trouvé comment
normalement si je tape sur le bouton imprime
seulement le composant JLabel affiche et JTextField pas le bonton et la case d'ou je tape le nom JTextField
public class SimpleFenetre extends JFrame implements ActionListener, Printable {
private JPanel panImp, panBouton;
// c'est pas propre mais osef
private JLabel b = new JLabel("votre nom : ");
private JButton imprime = new JButton("imprimer");
private JTextField nom = new JTextField();
public SimpleFenetre() {
super("Test d'impression");
panImp = new JPanel(new GridLayout(0,2));panImp.add(b); panImp.add(nom);
getContentPane().add(panImp, BorderLayout.CENTER);
panBouton = new JPanel(); panBouton.add(imprime);
getContentPane().add(panBouton,BorderLayout.EAST);
imprime.addActionListener(this);
imprime.setBackground(Color.red);
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 12 avril 2007 à 12:49
salut
merci encore ami
j'ai ajouté
ImageIcon img=new ImageIcone ("image.jpg");
img.getImage().getScaledInstance(20,20,Image.SCALE_AREA_AVERGING);//pour diminuer la taille de l'image sur la feuille avant l'imprimer mais ça n'a pas marché
g.drawImage((img.getImage(),50,50,this);
je voulias diminuer la taille de l'image 50,50 pas tellequelle est enregistré
la méthode img.getImage().getScaledInstance(20,20,Image.SCALE_AREA_AVERGING); ne marche pas