Introduction à JTextPane

JTextPane est utilisé pour styliser un document et pour le représenter graphiquement et a des images incorporées et d'autres composants. Il s'agit d'une sous-classe de JEditorPane qui constitue la base des composants de style pour le texte fourni par Java Swing Package. Cela peut également être utilisé pour ajouter des formats de texte personnalisés et pour le texte sans style, une zone de texte ordinaire est utilisée. JTextPane utilise des documents stylisés en utilisant une interface StyledDocument comme modèle. L'interface de document est le parent dont l'interface StyledDocument est dérivée. L'interface de document est également le modèle par défaut pour JTextPane.

Constructeurs de JTextPane

  1. public JTextPane () : ce constructeur affiche une nouvelle zone de texte vide. Cela crée une nouvelle instance de StyledEditorKit et définit le modèle de document sur null. Ce constructeur est hérité de l'interface parent JEditorPane.
  2. public JtextPane (StyledDocument doc) : Un nouveau JTextPane est créé avec le modèle de document spécifié par le mot clé doc ici. Ce constructeur est hérité de l'interface parent Document.

Méthodes de JTextPane

Il existe des méthodes fixes mais innombrables implémentées dans JTextPane. Quelques-unes des principales méthodes sont énumérées ci-dessous:

1. Style

Cette méthode peut être utilisée pour incorporer de nouveaux styles dans la hiérarchie de styles logique. Voici quelques-unes des méthodes enfant dérivées de Style:

addStyle: utilisé pour ajouter un nouveau style à la hiérarchie. Les attributs mentionnés ici sont résolus dans une méthode ascendante de telle sorte que l'attribut donné à l'enfant remplacera automatiquement le même attribut du parent.

Syntaxe: public Style addStyle (String str, Style par)

Le paramètre str est le nom du style unique au sein de sa collection. Le nom devient nul lorsque le style n'est pas nommé. par est le style parent spécifié. Cette méthode addStyle renvoie le nouveau style.

removeStyle: Ceci est utilisé pour supprimer un style qui n'est pas nul précédemment ajouté au document.

Syntaxe: public void removedStyle(String str)

str étant le nom du style à supprimer

getStyle: Il est utilisé pour récupérer le nom du style non nul et qui a été ajouté précédemment.

Syntaxe: public Style getStyle (String str)

str est le nom du style à récupérer

setLogicalStyle: utilisé pour définir le style d'utilisation du paragraphe à partir de la position actuelle du curseur.

Syntaxe: public void setLogicalStyle (Style log)

log étant le style logique qui est donné au paragraphe

getLogicalStyle: utilisé pour récupérer le style logique donné au paragraphe défini à la position actuelle du curseur et renvoie le style.

Syntaxe: public Style getLogicalStyle()

2. AttributeSet ()

Il y a beaucoup de sous-classes qui sont utilisées pour récupérer l'attribut de caractère qui est à la position actuelle du curseur. Ils sont les suivants:

  • public AtrributeSet () getCharacterAttributes (): renvoie les attributs de la position actuelle du curseur.
  • public AttributeSet getParagraphAttributes (): utilisé pour récupérer les attributs de paragraphe actuels à partir de la position actuelle du curseur.
  • public AttributeSet setParagraphAttributes (Attribute atr, boolean new): Utilisé pour appliquer les attributs passés en paramètres au paragraphe. Dans le cas des sélections, il applique les attributs aux paragraphes qui coupent cette sélection. Et dans le cas où il n'y a pas de sélection, il est appliqué au paragraphe présent à la position actuelle du curseur. atr est l'attribut transmis et si le nouveau paramètre est défini sur true, il remplace d'abord les attributs déjà existants.
  • public MutableAttributeSet getInputAttributes (): Utilisé pour récupérer les attributs d'entrée pour le volet.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): utilisé pour appliquer les attributs transmis au contenu du caractère. Les attributs sont appliqués à la plage sélectionnée lorsqu'une sélection est présente et si la sélection n'est pas présente, les attributs sont appliqués à tout nouveau texte inséré. nouveau si vrai renvoie les attributs existants
  • public AttributeSet getCharacterAttributes (): récupère les attributs de caractère présents à l'emplacement actuel du curseur ou null.

3. StyledDocument ()

Il est utilisé pour récupérer le modèle associé à l'éditeur.

Syntaxe: public StyledDocument getStyledDocument()

4. setDocument

Utilisé pour associer l'éditeur à un document texte qui devrait appartenir à StyledDocument. Il remplace la classe setDocument de JTextComponent. Par conséquent, il est nécessaire que le document à modifier puisse être converti en un StyledDocument sans lequel il lève une exception IllegalArgumentException.

Syntaxe: public void setDocument(Document new) - nouveau est le document à afficher ou à modifier.

5. setEditorKit

Utilisé pour définir le kit qui est actuellement installé pour gérer le contenu. Il s'agit de la propriété utilisée pour établir le type de contenu de l'éditeur. Il remplace le setEditorKit de la classe JEditorPane. Cela lève également une exception IllegalArgumentException si le kit n'appartient pas à StyledEditorKit.

Syntaxe: public final void setEditorKit (EditorKit edit) - l'édition est le comportement du kit requis.

6. paramString

Cela renvoie une représentation sous forme de chaîne de JTextPane.

Syntaxe: protected String paramString() - Cette méthode est principalement utilisée pour le débogage et son contenu renvoyé varie entre les différentes implémentations. La chaîne retournée peut être vide et non nulle.

Programme pour implémenter JTextPane

//Importing all the dependancies of Java awt used for GUI purpose
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
//Importing all the dependancies of Java swing package also used for GUI purpose and has many built-in functions
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
public class JTextPaneTest (
//Handling BadLocationException to report such bad locations in the document model
public static void main(String args()) throws BadLocationException (
//The string name we give here is displayed as the document name
JFrame jfr = new JFrame("Example of JTextPane");
// Makes the application to exit preventing it from running in the background
jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con = jfr.getContentPane();
JTextPane jpan = new JTextPane();
SimpleAttributeSet attrSet = new SimpleAttributeSet();
StyleConstants.setBold(attrSet, true);
// Attributes are set just before adding the text
jpan.setCharacterAttributes(attrSet, true);
jpan.setText("This ");
// Few of the other examples of attributes and features present in JTextPane
attrSet = new SimpleAttributeSet();
StyleConstants.setAlignment(attrSet, 1);
// Required colors can be set from the range of fixed available choices
StyleConstants.setForeground(attrSet, Color.yellow);
StyleConstants.setBackground(attrSet, Color.magenta);
Document doc = jpan.getStyledDocument();
doc.insertString(doc.getLength(), "is an ", attrSet);
attrSet = new SimpleAttributeSet();
StyleConstants.setItalic(attrSet, true);
StyleConstants.setForeground(attrSet, Color.RED);
StyleConstants.setBackground(attrSet, Color.cyan);
doc.insertString(doc.getLength(), "Example ", attrSet);
StyleConstants.setUnderline(attrSet, true);
StyleConstants.setFontSize(attrSet, 20);
doc.insertString(doc.getLength(), "of JTextPane ", attrSet);
// Scroll Pane is used to display a component and to change its size dynamically
JScrollPane scrollPane = new JScrollPane(jpan);
con.add(scrollPane, BorderLayout.CENTER);
jfr.setSize(550, 300);
jfr.setVisible(true);
)
)

Production:

Conclusion

Par conséquent, le JTextPane est toujours utilisé dans les cas où les documents doivent être représentés graphiquement. Tous les attributs d'un paragraphe auquel un style logique est associé ont des valeurs par défaut qui seront appliquées au cas où elles ne seraient pas remplacées. L'avantage de JTextPane par rapport aux volets de l'éditeur est qu'il dispose de ces nombreuses méthodes intégrées faciles à appeler et à utiliser. Aucun fichier HTML ou RTF n'est nécessaire pour incorporer des images en raison de la fourniture d'API fournies dans la classe JTextPane.

Articles recommandés

Ceci est un guide de JTextPane. Nous discutons ici des méthodes, constructeurs et programme pour implémenter JTextPane avec la syntaxe et la sortie. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. JTextField en Java
  2. JPanel en Java
  3. JButton en Java
  4. JSplitPane
  5. Lancer vs lancer | Les 5 principales différences que vous devez savoir