Maison >Java >javaDidacticiel >Comment puis-je personnaliser la couleur du texte dans des segments spécifiques d'un JTextArea ?
Personnalisation de la couleur du texte dans JTextArea
JTextArea, un composant couramment utilisé pour afficher du texte brut, n'a pas la flexibilité nécessaire pour personnaliser la couleur d'un texte spécifique segments au sein d’un document. Pour atteindre ce niveau de contrôle, envisagez plutôt d'utiliser JTextPane.
JTextPane fournit un ensemble puissant de fonctionnalités pour manipuler le formatage du texte, y compris la possibilité d'attribuer des couleurs distinctes à différentes parties du texte. Voici comment réaliser cette personnalisation :
import java.awt.*; import javax.swing.*; import javax.swing.text.*; public class TextCustomization { public static void main(String[] args) { // Create a JTextPane for displaying the text JTextPane textPane = new JTextPane(); // Create a SimpleAttributeSet to control text attributes SimpleAttributeSet blueAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(blueAttributeSet, Color.BLUE); SimpleAttributeSet greenAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(greenAttributeSet, Color.GREEN); SimpleAttributeSet redAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(redAttributeSet, Color.RED); SimpleAttributeSet orangeAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(orangeAttributeSet, Color.ORANGE); // Set the text and apply color attributes to specific segments String text = "LOAD R1, 1\nDEC R1\nSTORE M, R1\nADD R4, R1,8"; textPane.setText(text); // Color specific words textPane.setParagraphAttributes(blueAttributeSet, true); textPane.setCaretPosition(0); textPane.setSelectedTextColor(Color.BLUE); textPane.setSelectionStart(0); textPane.setSelectionEnd(4); textPane.replaceSelection("LOAD"); textPane.setParagraphAttributes(greenAttributeSet, true); textPane.setCaretPosition(5); textPane.setSelectedTextColor(Color.GREEN); textPane.setSelectionStart(5); textPane.setSelectionEnd(7); textPane.replaceSelection("R1,"); textPane.setParagraphAttributes(redAttributeSet, true); textPane.setCaretPosition(9); textPane.setSelectedTextColor(Color.RED); textPane.setSelectionStart(9); textPane.setSelectionEnd(10); textPane.replaceSelection("M"); textPane.setParagraphAttributes(orangeAttributeSet, true); textPane.setCaretPosition(12); textPane.setSelectedTextColor(Color.ORANGE); textPane.setSelectionStart(12); textPane.setSelectionEnd(13); textPane.replaceSelection("R1,"); } }
Dans cet exemple, l'extrait de code montre comment modifier la couleur de mots clés spécifiques ("LOAD", "DEC", "STORE", "ADD", "R1", "M" et chiffres) aux couleurs désignées (bleu, vert, rouge et orange). En définissant les attributs appropriés et en remplaçant les segments de texte sélectionnés, vous pouvez personnaliser l'apparence du texte dans le JTextPane.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!