Comment colorer un texte spécifique dans un JTextArea ?
Nov 19, 2024 am 10:31 AMComment manipuler la couleur du texte dans JTextArea
JTextArea gère généralement le texte brut, où les attributs de formatage tels que la couleur s'appliquent uniformément à l'ensemble du document. Cependant, si vous souhaitez personnaliser la couleur du texte de parties spécifiques d'un JTextArea, vous pouvez utiliser JTextPane ou JEditorPane.
En utilisant JTextPane, vous pouvez améliorer la zone de texte avec des capacités de personnalisation des couleurs :
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; public class TextPaneTest extends JFrame { private JPanel topPanel; private JTextPane tPane; public TextPaneTest() { // ... (Initialize components and set layout) // Create a custom method to append text with specified color appendToPane(tPane, "My Name is Too Good.\n", Color.RED); appendToPane(tPane, "I wish I could be ONE of THE BEST on ", Color.BLUE); appendToPane(tPane, "Stack", Color.DARK_GRAY); appendToPane(tPane, "Over", Color.MAGENTA); appendToPane(tPane, "flow", Color.ORANGE); // Add the text pane to the content pane getContentPane().add(topPanel); // ... (Finishing touches for the frame) } private void appendToPane(JTextPane tp, String msg, Color c) { StyleContext sc = StyleContext.getDefaultStyleContext(); AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c); aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Lucida Console"); aset = sc.addAttribute(aset, StyleConstants.Alignment, StyleConstants.ALIGN_JUSTIFIED); int len = tp.getDocument().getLength(); tp.setCaretPosition(len); tp.setCharacterAttributes(aset, false); tp.replaceSelection(msg); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new TextPaneTest(); } }); } }
Dans ce code, la méthode appendToPane ajoute du texte au volet de texte tout en définissant la couleur appropriée. Le résultat est une zone de texte dans laquelle différentes sections de texte présentent des couleurs distinctes, permettant une représentation visuelle améliorée de mots-clés ou de données spéciaux.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?

Top 4 frameworks JavaScript en 2025: React, Angular, Vue, Svelte

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?

Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?

Node.js 20: Boosts de performances clés et nouvelles fonctionnalités

Iceberg: L'avenir des tables de Data Lake

Spring Boot SnakeyAml 2.0 CVE-2022-1471 Issue fixe

Comment puis-je implémenter des techniques de programmation fonctionnelle en Java?
