Salut tous le monde,
Est ce que quelqu'un a une idée concernant la recuperation de chaque ligne saisie dans un JtextArea (cad juste aprés que l'utilisateur tape "retour chariot" je recupere la ligne saisie)
et merci d'avance
Version imprimable
Salut tous le monde,
Est ce que quelqu'un a une idée concernant la recuperation de chaque ligne saisie dans un JtextArea (cad juste aprés que l'utilisateur tape "retour chariot" je recupere la ligne saisie)
et merci d'avance
Salut !
J'ai trouvé ça une fois quelque part à propos de JTextArea :
...pas testé; à toi de voir,Citation:
RECUPÉRER UNE LIGNE : DefaultStyledDocument.getParagraphElement
bonne chance !
pour plus d'information :http://java.sun.com/j2se/1.4.2/docs/.../Document.htmlCode:
1
2
3
4
5
6
7
8
9
10
11
12
13 JTextArea memo=new JTextArea(); memo.setDocument (new DefaultStyledDocument() { public void insertString(int arg0, String arg1, AttributeSet arg2) throws BadLocationException { //votre code en cas d'insertion } public void remove(int arg0, int arg1) throws BadLocationException { //votre code en cas de suppression } });
Je crois qu'il faudra utiliser PlainDocument plutôt que DefaultStyledDocument quand il s'agt d'une JTextArea
d'abord on teste que le caractère inséré est un retour à la ligneCode:
1
2
3
4
5
6
7
8
9
10
11
12
13 jTextArea1.setDocument(new PlainDocument() { @Override public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { if (str.equals(System.getProperty("line.separator"))) { int line = jTextArea1.getLineOfOffset(offs); int startLine = jTextArea1.getLineStartOffset(line); String text = jTextArea1.getText(startLine, offs - startLine); System.out.println(text); } super.insertString(offs, str, a); } });
ensuite on récupère le numéro de la ligne où on se trouve
après on récupère l'index du début de cette ligne
enfin on récupère le texte qui se trouve entre l'index début de la ligne et l'index où on se trouve actuellement