2012-01-20 4 views
0

J'essaie d'imprimer le contenu d'un JTextArea, en utilisant la police par défaut (texte brut). Je suis littéralement en train de faire:Java JTextArea Impression

this.printTextArea.print() 

Où printTextArea est une JTextArea. La dernière ligne est généralement manquante lorsque j'imprime, mais elle s'affiche si je vois le contenu de JTextArea ou si j'imprime sur PDFCreator.

Quel pourrait être le problème? J'ai pensé que cela pourrait être quelque chose à faire avec des tampons non vidés, mais je n'ai pas vraiment de contrôle sur ce que fait la méthode print().

Merci beaucoup.

+0

il est si intéressant je pense que je peux être liée avec carrage et linefeeds la méthode d'impression peut lire ligne par ligne, mais la dernière ligne peut ne pas finir avec une nouvelle ligne afin il ne s'imprime pas pouvez-vous essayer d'ajouter une nouvelle ligne après le contenu textarea – daemonThread

+0

Savez-vous si la méthode prend un objet JComponent ou un objet String? – fireshadow52

+0

Cela peut également être dû à un mauvais calcul de limite dû à la police ou à la marge interne. 'setMargin (new Insets (20, 20, 20, 20))' devrait avoir un effet révélateur. (La bordure non imprimée affecte les marges.) –

Répondre

0

Juste une supposition. Si vous imprimez après setText() ou appent() et que la vue n'est pas encore prête et a une taille ancienne.

Appel de l'impression à l'intérieur SwingUtilities.invokeLater()

+0

J'ai essayé ça et ça n'a pas marché. Mais merci pour la suggestion. – Gigi