Mon style n'a pas été hérité !

Résolu
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012 - 14 mai 2007 à 22:57
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012 - 15 mai 2007 à 19:07
Salut

Ne vous inquiétez pas, il ne s'agit pas de vous demander du code, mais plutôt d'éssayer de comprendre ce qui n'a pas foctionné dans celui que je vais vous poster.

Le topo

Je viens juste d'apprendre à modifier le style par défaut du texte d'un JTextPane.
Le seul hic : les deux styles de niveau titre iternes (titreNiveau1 et titreNiveau2) ne sont ni soulignés, ni des couleur que j'ai voulu leur attribuer.

Le code

Ce code est une méthode d'une classe dérivée de javax.swing.JApplet
panneauTexteFormatte est l'un de ses attributs et de type javax.swing.TextPane
Dans une fonction intégrée à la JApplet personnalisée, j'éffectue des appels successifs à uneInstanceDeJavax.StyledText.DefaultStyledDocument#insertString(offset,texte,unDesMesStylesDefinis)

Ceci étant dit, venons-en au fait :

public void definirLesStyles(){
        Style styleRacine = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
       
        Style racine = panneauTexteFormatte.addStyle("racine", styleRacine);
        StyleConstants.setBold(racine, false);
       
        Style titreGeneral = panneauTexteFormatte.addStyle
        ("titreGeneral", styleRacine);
        StyleConstants.setBold(titreGeneral, true);
        StyleConstants.setFontSize(titreGeneral, 20);
        StyleConstants.setFontFamily(titreGeneral,"Times New Roman");
        StyleConstants.setBackground(titreGeneral, Color.green);
        StyleConstants.setForeground(titreGeneral, Color.blue);
       
        Style noteTresImportante = panneauTexteFormatte.addStyle
        ("noteTresImportante", titreGeneral);
        StyleConstants.setBackground(noteTresImportante, Color.yellow);
        StyleConstants.setForeground(noteTresImportante, Color.red);
       
        Style titreNiveau1 = panneauTexteFormatte.addStyle
        ("titreNiveau1", styleRacine);
        StyleConstants.setUnderline(titreNiveau1, true);
        StyleConstants.setForeground(titreNiveau1, Color.red);
       
        Style titreNiveau2 = panneauTexteFormatte.addStyle
        ("titreNiveau2", titreNiveau1);
        StyleConstants.setForeground(titreNiveau2, Color.green);
       
    }

Je vous remercie d'avance, y compris tous ceux qui auront au moins pris la peine de regarder, même sans répondre.

1 réponse

cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
15 mai 2007 à 19:07
Vous n'avez pas trouvé ? ....

C'est normal :(

En fait c'était dans l'utilisation des styles dans le Document que tout bloquait : je m'étais trompé dans le 3e paramètre de Document#insertString, qui est un AttributeSet : j'avais mis le Document lui-même !!!

Bon ben comme ça vous le saurez, à la  compilation ça passe, mais logiquement parlant, ça ne passe pas !

@ +

Loloof64
3
Rejoignez-nous