senternal | Polix a écrit :
Bonjour,
Existe-t-il en java un composant de texte dans lequel on puisse écrire plusieurs lignes de couleurs différentes.
J'aimerais afficher un message en vert lorsq'une action s'est bien déroulée, en rouge, si elle s'est mal passée mais sans ecraser les messages précédant. Il s'agit d'une sorte d'historique des actions.
merci.
|
Oui, tu peux utiliser un JTextPane... Un exemple rapide ci-dessous. A ajouter un initComponent et les 'listener' eventuels.
Ca n'est qu'un exemple, le code peut-etre largement amélioré, mais bon...
Code :
- MessageArea extends javax.swing.JTextPane {
- ...
- public void message( String message , Color color)
- {
- int pos = getCaretPosition();
- Style styleIni = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
- StyleConstants.setForeground( styleIni, color );
-
- StyledDocument doc = this.getStyledDocument();
- try
- {
- doc.insertString(doc.getLength(), message,styleIni);
- } catch (BadLocationException ble)
- {
- // Error !! Throw new personal exception...
- }
- }
- ...
- }
|
Message édité par senternal le 16-05-2003 à 13:52:11
|