Jtextpane [Résolu]

Signaler
Messages postés
6
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
14 novembre 2014
-
Messages postés
6
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
14 novembre 2014
-
Bonjour tout le monde,

voila je suis un debutant en java. Je me débrouille pas trop mal mais la je bloque, alors si une personne avait deja eu a regler ca, je prends sa solution.

Mon objectif est de créer dans un Jtextpane des boutons mais pas de texte, jusque la tout est OK, mais lorsque je veux supprimer un de ces boutons, non seulement il reste dans le Jtextpane mais il reste actif.

Hormis l'effacement par settext puis rechargement des boutons valides y a t'il une solution elegante.

Y a t'il un moyen d'acceder a la liste des boutons contenus et de la "bricoler"

Merci d'avance pour la reponse.

3 réponses


Salut,

Peux-tu nous poster ton code ou tu manipules ton JTextPane avec tes boutons ? Ce sera nettement plus clair.

P.S : setText() ne supprimera en aucun cas ton bouton, il change juste la valeur du texte qui est dedans. Si tu veux le supprimer sans t'en reservir, tu peux le mettre a null. Si tu veux juste le desactiver, tu peux utiliser setEnable(false). Si tu ne veux plus le voir, setVisible(false) fera l'affaire.


-- Pylouq : jongleur de clavier AZERTY et de clavier QWERTZ --
Messages postés
6
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
14 novembre 2014

Merci je vais de ce pas tester ca.
Messages postés
6
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
14 novembre 2014

le code suivant marche

styledefaut = new SimpleAttributeSet();
StyleConstants.setFontFamily(styledefaut, "Verdana");
StyleConstants.setBold(styledefaut, true);
StyleConstants.setFontSize(styledefaut, 16);
StyleConstants.setAlignment(styledefaut, StyleConstants.ALIGN_LEFT);
StyleConstants.setSpaceAbove(styledefaut, 13.0F);
StyleConstants.setLeftIndent(styledefaut, 7.0F);
StyleConstants.setSpaceBelow(styledefaut, 20.0F);
StyleConstants.setRightIndent(styledefaut, 7.0F);
StyleConstants.setLineSpacing(styledefaut, -0.7F);

document = new DefaultStyledDocument();
zonetexte.setStyledDocument(document);
composanttexte = new SimpleAttributeSet(styledefaut); 


le composant cree dans le jtextpane

SimpleAttributeSet composant;
DefaultStyledDocument document;

StyleConstants.setComponent(composant, bouton);
try {
     position = document.getLength();
     document.insertString(position, "\n", composant);
     document.setParagraphAttributes(position, len, styledefaut, false);
}
catch (BadLocationException ex) { } 


suppresion du composant

document.remove(position, 1); 


Donc pb regle merci du renseignement