Java: Comment modifier la couleur d'une ligne spécifique ou d'une ligne de chaîne dans une zone de texte?

StackOverflow https://stackoverflow.com/questions/4654000

Question

une façon dont je pouvais changer la couleur est par setForground (). Cependant, quand il y a plusieurs lignes de code, il fait tout noir ou vert. Y at-il une autre méthode ou tout autre moyen de résoudre ce problème? Merci!

int key = evt.getKeyCode();
    if (key == KeyEvent.VK_ENTER)
    {
       String tb1EnterdValue = tb1.getText().toString();
       if((tb1EnterdValue.equals("yes")) )
        {
            TextArea1.setForeground(Color.green);
    else
        {
              TextArea1.setForeground(Color.lightGray);
        }
       this.TextArea1.append(">"+tb1EnterdValue+newline);
       this.tb1.setText("");
Était-ce utile?

La solution

J'utiliser un JTextPane avec « attributs » (non HTML) pour changer la couleur du texte. La section du tutoriel Swing sur Texte composant Caractéristiques a un travail exemples pour vous aider à démarrer.

  

J'ai essayé JTextPanes avant, mais ils ne me laisse pas utiliser la méthode append ()

La méthode append () est juste une méthode pratique qui vous permet d'ajouter du texte à la fin du document. Vous pouvez vous mettre en œuvre propre méthode append () pour une JTextPane aussi bien. Il suffit de regarder le code source pour JTextArea et copiez le code à partir de sa méthode append ().

Autres conseils

Est-ce swing et utilisez-vous JTextAreas? Si oui, s'il vous plaît être précis dans votre question, et ne pas utiliser un JTextArea car il est pas le composant de texte idéal à utiliser si vous voulez avoir plusieurs formats dans un composant texte. Au lieu de considérer l'utilisation d'un JTextPane ou JEditorPane. Les tutoriels vous montreront comment utiliser ces derniers et quand ils doivent être utilisés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top