Je voudrais alterner entre gris et blanc comme de l'arrière-plan d'une ligne de mon jtextpane à la suivante. J'ai essayé de le faire en surchargeant la méthode de la peinture () et en dessinant le fond manuellement en fonction de la hauteur des composants une taille de police mais je n'ai pas réussi. P>
Toute astuce? P>
5 Réponses :
JTextField someField = new JTextField(); someField.setBackground(Color.GREY );
Désolé je voulais dire jtextpane pas jtextfield ... j'ai corrigé la question.
Malheureusement, celui-ci changera la couleur totale b> JTextpane, et pas seulement l'une de ses lignes.
@RiDuidel, oui, mais la façon dont la question a été formulée à l'origine.
Voici Pour l'expliquer un peu, JTextpane A > est un éditeur de document stylé, et comme tel, permet de changer styleddocument , c'est-à-dire un document qui inclut des informations de style, telles que la couleur d'arrière-plan pour une ligne donnée. P>
J'ai essayé de le faire en surchargeant la méthode de la peinture () et dessinez le fond manuellement en fonction de la hauteur des composants une taille de police mais je n'ai pas réussi. P> blockQuote>
semble raisonnable. Assurez-vous de faire le volet de texte non opaque. p>
Ensuite, le code de base serait: p>
- Peignez votre arrière-plan alternatif basé sur la région du clip Li>
- invoquer super.paincomponent () de sorte que le texte est peint au-dessus de l'arrière-plan. LI> ol>
Si vous avez besoin de plus d'aide, postez le SSCCE démontrer le problème. P>
Vous pouvez utiliser la ligne surligneur ( ici A > ou ici ), écrit par @vonc, en réponse à Question .
Afin de mettre en évidence des lignes alternatives, vous pouvez l'utiliser comme suit: p> voici ce que VONC est myHighLighter code>: < / p>
JTextpane prendra un document HTML comme texte. Avez-vous envisagé d'ajouter votre texte au jtextpane via un document HTML?
JTextPane pane = new JTextPane(); pane.setContentType("text/html"); String text = /*some html table or set of divs for formatting */ pane.setText(text); myJFrame.add(pane);
Qu'entendez-vous par «une ligne»? Severbackground () ne fonctionne pas si vous alternez la couleur que vous utilisez?
Votre textpane est-elle modifiable? I.e. Voulez-vous que les arrière-plans changent si des lignes sont ajoutées / supprimées?