J'ai une fenetre qui s'ouvre avec plusieurs JTextField et j'aimerai imprimer tous le contenu des différents JTextField.
Est ce que vous pouriez me dire comment il faut faire?
Merci.
Version imprimable
J'ai une fenetre qui s'ouvre avec plusieurs JTextField et j'aimerai imprimer tous le contenu des différents JTextField.
Est ce que vous pouriez me dire comment il faut faire?
Merci.
Tiens une petite classe qui peut faire ce que tu veut faire :
Et voilà comment l'utiliser :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 package src; import java.awt.*; import java.awt.print.*; /** * Classe qui va s'occuper d'imprimer un message * @author Wichtounet * */ public class Print implements Printable{ String toPrint[]; /** * Constructeur de la classe * @param toPrint Chaine de caractères à imprimer */ public Print(String toPrint){ this.toPrint = toPrint.split("\n"); } /** * Fonction qui imprime le message */ public int print(Graphics g, PageFormat pf, int indexPage){ int start = 100; if(indexPage > 0) return NO_SUCH_PAGE; Graphics2D g2 = (Graphics2D)g; g2.setFont(new Font("Times New Roman", Font.PLAIN, 12)); for(int i = 0;i < toPrint.length;i++){ g2.drawString(toPrint[i],start,25); if(i == 2){start += 30;} else{start += 20;} } return PAGE_EXISTS; } }
Code:
1
2
3
4
5
6
7
8
9
10
11 PrinterJob tache = PrinterJob.getPrinterJob(); try {tache.setPrintable(new Print("A la place de ce message, tu lui passes le texte de tous tes JTextField séparés par \n"); } catch (IOException e1) {e1.printStackTrace(); } catch (MessagingException e1) {e1.printStackTrace();} try { tache.print(); } catch(Exception e) { System.out.println("impossible d’imprimer");}
je viens d'essayer mais sa ne marche pas.
Il existe pas une autre methode?
merci
Qu'est ce qui ne marche pas, j'emploie cette classe ainsi chez moi...
Je sais pas trop s'il existe une autre manière, sinon, tu peut aussi mettre le texte dans tout tes JTextField dans un autre composant temporaire et ensuite employer la méthode print de swing
lorsque je compil, il me dit :
cannot access Print
bad class file : .\Print.java
file does not contain class Print
Dans
il faut que je les mettes comment mes JTextField?Code:
1
2 try {tache.setPrintable(new Print("A la place de ce message, tu lui passes le texte de tous tes JTextField séparés par \n");
Il faut que je fasse un JTextField.getText?
ou j'ai juste a mettre mes noms de JTextField?
Je vais rééssayer pour voir.
Merci.
Tu as bien ajouté la classe Print à ton projet ?
Oui il faut faire des getText sur chacun de tes TextField et ensuite tu met s tous le texte en paramètre de la classe Print
je doit avoir un problème avec le package src. Il me met une erreur en rapport avec ce package.
Il faut pas laisser cette ligne, il faut remplacer src par le nom du package dans lequel tu as mis la classe ;)
Qu'est ce que tu entend par :
Je ne comprend pas bien ce qu'il faut faire.Citation:
Il faut pas laisser cette ligne, il faut remplacer src par le nom du package dans lequel tu as mis la classe
Merci.
Normalement, tu as tes classes dans un package non ? Alors au début de chaque classe, tu dois mettre package suivi du nom du package dans laquelle cette classe est...
Ou alors si tu n'as pas de package, tu ne mets pas du tout ce bout de code.
Moi je ne fait appel a aucun package. Donc je ne met pas ce bout de code. Par contre la class Print, je la met dans un sous programme et je l'appel dans ma class principal, ou je la met dansma class principale?
Merci pour ton aide.
Il faut la metre au même endroit que ta classe principale si tu veut y avoir accès sans utiliser des packages.
Pour info, tu developpes avec quoi ?
J'ai fait une class Print que j'appel dans ma classe principale. Lorsque je compile il me met une erreur en me disant qu'il ne connait pas la variable MessagingException.
Est ce que tu peut me dire a quoi sa correspond?
Je developpe avec EditPlus.
Merci.
:oops: Dsl, tu n'as pas besoin de cette ligne, j'ai oublié de l'enlever, j'en avais besoin à cause du contenu que j'imprimais...