[java] JTextArea
-platon-
-
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
bonjour,
j'ai un petit probleme de saut de ligne dans une JTextArea : je voudrait qu'a chaque fois que j'ajoute du texte, il soit a la ligne. Mais je ne trouve pas comment il faut faire et surtout si c possible. Peut être qu'il y a dautre objet qui le permettent ?
Est-il également possible de rediriger la sortie standart vers un objet pour que celle-ci s'affiche dans mon interface graphique ?
merci pour vos réponses....
guillaume.
j'ai un petit probleme de saut de ligne dans une JTextArea : je voudrait qu'a chaque fois que j'ajoute du texte, il soit a la ligne. Mais je ne trouve pas comment il faut faire et surtout si c possible. Peut être qu'il y a dautre objet qui le permettent ?
Est-il également possible de rediriger la sortie standart vers un objet pour que celle-ci s'affiche dans mon interface graphique ?
merci pour vos réponses....
guillaume.
1 réponse
-
Oui, c'est possible, tu te fais une méthode qui écrit ta propre classe :
import java.swing.*; public class MonJTextArea extends JTextArea { // La zone de texte : private JTextArea text; // LISTE DES CONSTRUCTEURS : // Sans rien : MonJTextArea ( ) { this.text = new JTextArea(); } // Avec un texte dès la création : MonJTextArea ( String texte ) { this.text = new JTextArea(texte); } // Avec un taille définie : MonTextArea ( int rows, int columns ){ this.text = nex JTextArea(rows,columns); } // Accesseurs : public JTextArea get_text ( ) { return this.text; } public void set_rows( int rows ) { this.setRows(rows); } public void set_columns( int columns ) { this.setColumns(columns); } // Méthodes de classes : public void addText ( String texte, int mode, int line_insert ) { switch(mode) { case 0: // Ajoute le texte à la fin : text.append(texte); break; case 1: // Insert mode text.insert(texte,line_insert); break; case 2: // Suppression, puis écriture : int lines = this.getLineCount(); if( lines > 0) text.replaceRange(getLineStartOffset(0),getLineEndOffset(lines),texte); else System.out.println("Zone de texte sans taille"); break; default: break; } } }
Voilà, c'est juste un exemple de ce que tu pourrait faire. Comme ca tu créer ton objet comme si c'était un JTextArea, et quand tu veux écrire dedans, tu fais appel à la méthode écrite à cet effet.
Ca n'a pas été tester, donc....
++