[java] JTextArea

Fermé
-platon- - 27 avril 2005 à 13:13
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 28 avril 2005 à 10:10
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.
A voir également:

1 réponse

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 10:10
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....

++
0