Le contextepermettant l'habillage de texte plus intelligent dans un JTextArea
À l'heure actuelle, j'ai une JTextArea qui a été créé comme ceci:
JTextArea descArea = new JTextArea();
descArea.setFont(style.getFont());
descArea.setLineWrap(true);
descArea.setName("descArea");
descArea.setToolTipText(resourceMap.getString("descArea.toolTipText"));
descArea.setText(model.getName());
JScrollPane descPane = new JScrollPane(descArea,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
Lorsqu'un utilisateur tape quelque chose dans le champ, il ne fait envelopper (comme par descArea.setLineWrap(true)
), mais fait un peu maladroitement en brisant des mots comme l'exemple suivant:
Les utilisateurs de notre logiciel attendent l'emballage d'être un peu plus intelligent et générer automatiquement quelque chose comme:
Avec l'idée générale étant que quand on tape le dernier « e » tout descend vers la deuxième ligne avec le point d'insertion au fur et à mesure de la frappe (d'une manière similaire à presque tous les autres éditeurs de texte).
La question
Ma première pensée avait été de mettre en œuvre ce type d'emballage manuellement à l'aide d'un écouteur de touche, mais je me demandais s'il y a une meilleure composante d'approche/différente qui pourrait obtenir cette fonctionnalité plus facilement?