Bonjour,
voila je suis entrein de realiser une application qui transforme du XMl en code Java.
Pour afficher mes différent messages d'erreurs ou ceux pour dire que tout s'est bien dérouler j'utilise un JTextPanel.
J'ai deux problemes: le probleme c'est que je ne sais pas comment effacer son contenu avant d'afficher le nouveau message. Je n'ai pas trouver de methode qui face l'affaire dans la javadoc.
Mon deuxieme probleme, que la je comprends pas du tout (je dois trop etre dans mon code pour voir l'erreur moi meme. Voila au moment ou je veut afficher mon texte je fait un test pour savoir si c'est le message commence par "Erreur" alors je veux afficher le message en rouge, dans le cas contraire je veux le mettre en Vert.
Mais voila Le message d'erreur il me le met en vert :-s il ne me fait pas le changement de couleurs.
Voila ma classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 import java.awt.*; import javax.swing.*; import javax.swing.text.*; import java.awt.Dimension; public class ErrorPanel extends JPanel { //declaration private JTextPane textError; private DefaultStyledDocument doc; private Style greenStyle; private Style redStyle; public ErrorPanel() { //initilisation //definition des style d'ecriture StyleContext styleContext = new StyleContext(); redStyle = styleContext.addStyle(null,null); StyleConstants.setForeground( redStyle, Color.red); greenStyle = styleContext.addStyle(null,null); StyleConstants.setForeground( greenStyle, Color.green); doc = new DefaultStyledDocument( styleContext ); textError = new JTextPane( doc ); textError.setEnabled( false ); JScrollPane scrollBar = new JScrollPane( textError ); scrollBar.setPreferredSize( new Dimension( 780, 100 ) ); this.add( scrollBar ); } public void fctPrintError( String result ) { //information message in green System.out.println( result.substring( 0,6 ) ); if( result.substring( 0,6 ) =="Erreur") { try { doc.insertString( 0, result,redStyle ); } catch( BadLocationException e ) { System.out.println( "Erreur" ); } } //error message in red else { try { doc.insertString( 0,result, greenStyle ); } catch( BadLocationException e ) { System.out.println( "Erreur" ); } } } } Merci de votre aide.
Partager