Einführung in JTextPane

JTextPane wird zum Stylen und zur grafischen Darstellung eines Dokuments verwendet und enthält eingebettete Bilder und andere Komponenten. Es ist eine Unterklasse von JEditorPane, die die Basis für gestaltete Komponenten für den von Java Swing Package bereitgestellten Text bildet. Dies kann auch zum Hinzufügen benutzerdefinierter Textformate verwendet werden, und für nicht formatierten Text wird ein normaler Textbereich verwendet. JTextPane verwendet gestaltete Dokumente unter Verwendung einer StyledDocument-Schnittstelle als Modell. Die Dokumentschnittstelle ist das übergeordnete Element, von dem die StyledDocument-Schnittstelle abgeleitet wird. Die Dokumentschnittstelle ist auch das Standardmodell für JTextPane.

Konstruktoren von JTextPane

  1. public JTextPane () : Dieser Konstruktor zeigt einen neuen leeren Textbereich an. Dadurch wird eine neue Instanz von StyledEditorKit erstellt und das Dokumentmodell auf null gesetzt. Dieser Konstruktor wird von der übergeordneten Schnittstelle JEditorPane geerbt.
  2. public JtextPane (StyledDocument doc) : Ein neues JTextPane wird mit dem hier durch das Schlüsselwort doc angegebenen Dokumentmodell erstellt. Dieser Konstruktor wird von der übergeordneten Schnittstelle Document geerbt.

Methoden von JTextPane

Es gibt feste, aber unzählige Methoden, die in JTextPane implementiert sind. Einige der wichtigsten Methoden sind unten aufgeführt:

1. Stil

Mit dieser Methode können neue Stile in die logische Stilhierarchie aufgenommen werden. Im Folgenden sind einige der von Style abgeleiteten untergeordneten Methoden aufgeführt:

addStyle: Hiermit wird der Hierarchie ein neuer Stil hinzugefügt. Die hier genannten Attribute werden in einer Bottom-Up-Methode aufgelöst, sodass das dem untergeordneten Attribut zugewiesene Attribut automatisch dasselbe Attribut des übergeordneten Attributs überschreibt.

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

Der Parameter str ist der Name des eindeutigen Stils in seiner Auflistung. Der Name wird null, wenn der Stil unbenannt bleibt. par ist der angegebene übergeordnete Stil. Diese Methode addStyle gibt den neuen Style zurück.

removeStyle: Hiermit wird ein Stil entfernt, der nicht null ist und zuvor zum Dokument hinzugefügt wurde.

Syntax: public void removedStyle(String str)

str ist der Name des zu entfernenden Stils

getStyle: Hiermit wird der Name des Stils abgerufen, der nicht null ist und der zuvor hinzugefügt wurde.

Syntax: public Style getStyle (String str)

str ist der Name des abzurufenden Stils

setLogicalStyle: Dient zum Festlegen des Stils für die Verwendung des Absatzes ab der aktuellen Einfügeposition.

Syntax: public void setLogicalStyle (Style log)

log ist der logische Stil, der dem Absatz gegeben wird

getLogicalStyle: Wird verwendet, um den logischen Stil abzurufen, der der Absatzmenge an der aktuellen Position des Einfügezeichens zugewiesen wurde, und gibt den Stil zurück.

Syntax: public Style getLogicalStyle()

2. AttributeSet ()

Es gibt viele Unterklassen, die verwendet werden, um das Zeichenattribut abzurufen, das sich an der aktuellen Position von Caret befindet. Sie sind wie folgt:

  • public AtrributeSet () getCharacterAttributes (): Gibt die Attribute von der aktuellen Caret-Position zurück.
  • public AttributeSet getParagraphAttributes (): Wird verwendet, um aktuelle Absatzattribute von der aktuellen Position des Einfügezeichens abzurufen.
  • public AttributeSet setParagraphAttributes (Attribut atr, boolean new): Wird verwendet, um die als Parameter übergebenen Attribute auf den Absatz anzuwenden. Bei Auswahl werden die Attribute auf die Absätze angewendet, die diese Auswahl überschneiden. Wenn keine Auswahl vorhanden ist, wird sie auf den Absatz angewendet, der sich an der aktuellen Position des Einfügezeichens befindet. atr ist das übergebene Attribut. Wenn der neue Parameter true lautet, werden zuerst die bereits vorhandenen Attribute ersetzt.
  • public MutableAttributeSet getInputAttributes (): Dient zum Abrufen der Eingabeattribute für den Bereich.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): Wird verwendet, um die übergebenen Attribute auf den Zeicheninhalt anzuwenden. Die Attribute werden auf den ausgewählten Bereich angewendet, wenn eine Auswahl vorhanden ist. Wenn die Auswahl nicht vorhanden ist, werden die Attribute auf jeden neuen Text angewendet, der eingefügt wird. new, wenn true, werden die vorhandenen Attribute zurückgegeben
  • public AttributeSet getCharacterAttributes (): Ruft die Zeichenattribute ab, die am aktuellen Caret-Standort vorhanden sind, oder null.

3. StyledDocument ()

Es wird verwendet, um das Modell abzurufen, das dem Editor zugeordnet ist.

Syntax: public StyledDocument getStyledDocument()

4. setDocument

Wird verwendet, um den Editor mit einem Textdokument zu verknüpfen, das zu StyledDocument gehören soll. Es überschreibt die setDocument-Klasse von JTextComponent. Daher muss das zu bearbeitende Dokument in ein StyledDocument konvertiert werden können, ohne dass es eine IllegalArgumentException auslöst.

Syntax: public void setDocument(Document new) - neu ist das Dokument, das angezeigt oder geändert werden soll.

5. setEditorKit

Dient zum Festlegen des Kits, das derzeit für die Verarbeitung des Inhalts installiert ist. Mit dieser Eigenschaft wird der Inhaltstyp des Editors festgelegt. Es überschreibt das setEditorKit aus der Klasse JEditorPane. Dies löst auch eine IllegalArgumentException aus, wenn das Kit nicht zu StyledEditorKit gehört.

Syntax: public final void setEditorKit (EditorKit edit) - Die Bearbeitung ist das erforderliche Kit-Verhalten.

6. paramString

Dies gibt eine Zeichenfolgendarstellung von JTextPane zurück.

Syntax: protected String paramString() - Diese Methode wird hauptsächlich zum Debuggen verwendet. Der zurückgegebene Inhalt variiert zwischen den verschiedenen Implementierungen. Die zurückgegebene Zeichenfolge kann leer und nicht null sein.

Programm zur Implementierung von 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);
)
)

Ausgabe:

Fazit

Daher wird das JTextPane immer dann verwendet, wenn die Dokumente grafisch dargestellt werden müssen. Alle Attribute eines Absatzes, dem ein logischer Stil zugeordnet ist, haben Standardwerte, die angewendet werden, falls sie nicht überschrieben werden. Der Vorteil von JTextPane gegenüber Editor-Fenstern besteht darin, dass es über zahlreiche integrierte Methoden verfügt, die einfach aufzurufen und zu verwenden sind. Aufgrund der Bereitstellung von APIs in der JTextPane-Klasse ist das Einbetten von Bildern in HTML- oder RTF-Dateien nicht erforderlich.

Empfohlene Artikel

Dies ist eine Anleitung zu JTextPane. Hier werden die Methoden, Konstruktoren und Programme zur Implementierung von JTextPane mit der Syntax und Ausgabe erläutert. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. JTextField in Java
  2. JPanel in Java
  3. JButton in Java
  4. JSplitPane
  5. Werfen vs wirft | Die 5 wichtigsten Unterschiede, die Sie kennen sollten