Inleiding tot JTextPane

JTextPane wordt gebruikt om een ​​document te stileren en grafisch weer te geven en heeft ingesloten afbeeldingen en andere componenten. Het is een subklasse van JEditorPane die de basis vormt voor stijlcomponenten voor de tekst geleverd door Java Swing Package. Dit kan ook worden gebruikt voor het toevoegen van aangepaste tekstindelingen en voor tekst zonder stijl wordt een gewoon tekstgebied gebruikt. JTextPane maakt gebruik van gestileerde documenten met een StyledDocument-interface als model. Documentinterface is de ouder waarvan de StyledDocument-interface is afgeleid. De documentinterface is ook het standaardmodel voor JTextPane.

Constructeurs van JTextPane

  1. public JTextPane () : deze constructor geeft een nieuw leeg tekstgebied weer. Hiermee wordt een nieuwe instantie van StyledEditorKit gemaakt en wordt het documentmodel op nul gezet. Deze constructor is overgenomen van de hoofdinterface JEditorPane.
  2. public JtextPane (StyledDocument doc) : Er wordt een nieuw JTextPane gemaakt met het documentmodel dat hier door het trefwoord doc is gespecificeerd. Deze constructor is overgenomen van het bovenliggende interface-document.

Methoden van JTextPane

Er zijn vaste maar talloze methoden geïmplementeerd in JTextPane. Enkele van de belangrijkste methoden worden hieronder opgesomd:

1. Stijl

Deze methode kan worden gebruikt om nieuwe stijlen in de logische stijlhiërarchie op te nemen. Hier volgen enkele van de onderliggende methoden die zijn afgeleid van Style:

addStyle: dit wordt gebruikt om een ​​nieuwe stijl aan de hiërarchie toe te voegen. De attributen die hier worden vermeld, worden opgelost in een bottom-up methode, zodat het kenmerk dat aan het kind wordt gegeven, automatisch hetzelfde kenmerk van de ouder overschrijft.

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

parameter str is de naam van de unieke stijl in de collectie. De naam wordt ongeldig wanneer de stijl naamloos wordt. par is de opgegeven bovenliggende stijl. Deze methode addStyle retourneert de nieuwe stijl.

removeStyle: dit wordt gebruikt om een ​​stijl te verwijderen die eerder niet aan het document is toegevoegd.

Syntaxis: public void removedStyle(String str)

str is de naam van de stijl die moet worden verwijderd

getStyle: het wordt gebruikt om de naam op te halen van de stijl die niet nul is en die eerder is toegevoegd.

Syntaxis: public Style getStyle (String str)

str is de naam van de op te halen stijl

setLogicalStyle: wordt gebruikt om de stijl in te stellen voor het gebruik van de alinea vanaf de huidige caretpositie.

Syntaxis: public void setLogicalStyle (Style log)

log is de logische stijl die aan de alinea wordt gegeven

getLogicalStyle: wordt gebruikt om de logische stijl op te halen die wordt gegeven aan de alineaset op de huidige cursorpositie en geeft de stijl terug.

Syntaxis: public Style getLogicalStyle()

2. AttributeSet ()

Er zijn veel subklassen die worden gebruikt om het tekenkenmerk op te halen dat zich op de huidige positie van de cursor bevindt. Ze zijn als volgt:

  • public AtrributeSet () getCharacterAttributes (): retourneert de attributen van de huidige caret-positie.
  • public AttributeSet getParagraphAttributes (): wordt gebruikt om huidige alineaattributen op te halen uit de huidige caretpositie.
  • public AttributeSet setParagraphAttributes (Attribuut atr, boolean new): Gebruikt om de attributen doorgegeven als parameters toe te passen op de paragraaf. In het geval van selecties past het de attributen toe op de alinea's die deze selectie kruisen. En in het geval dat er geen selectie is, wordt deze toegepast op de alinea die aanwezig is op de huidige cursorpositie. atr is het doorgegeven attribuut en als de nieuwe parameter true wordt gegeven, vervangt deze eerst de reeds bestaande attributen.
  • public MutableAttributeSet getInputAttributes (): wordt gebruikt om de invoerattributen voor het paneel op te halen.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): wordt gebruikt om de doorgegeven attributen toe te passen op de karakterinhoud. De attributen worden toegepast op het geselecteerde bereik wanneer een selectie aanwezig is en als de selectie niet aanwezig is, worden de attributen toegepast op elke nieuwe tekst die wordt ingevoegd. nieuw als true de bestaande kenmerken retourneert
  • public AttributeSet getCharacterAttributes (): haalt de karakterkenmerken op die aanwezig zijn op de huidige caretlocatie of null.

3. StyledDocument ()

Het wordt gebruikt om het model op te halen dat aan de editor is gekoppeld.

Syntaxis: public StyledDocument getStyledDocument()

4. setDocument

Wordt gebruikt om de editor te koppelen aan een tekstdocument dat hoort te behoren tot StyledDocument. Het vervangt de setDocument-klasse van JTextComponent. Daarom is het vereist dat het te bewerken document kan worden geconverteerd naar een StyledDocument zonder welke het een IllegalArgumentException gooit.

Syntaxis: public void setDocument(Document new) - nieuw is het document dat moet worden weergegeven of gewijzigd.

5. setEditorKit

Wordt gebruikt om de kit in te stellen die momenteel is geïnstalleerd voor het verwerken van de inhoud. Dit is de eigenschap die wordt gebruikt om het inhoudstype van de editor te bepalen. Het overschrijft de setEditorKit van de klasse JEditorPane. Dit genereert ook een IllegalArgumentException als de kit niet tot StyledEditorKit behoort.

Syntaxis: public final void setEditorKit (EditorKit edit) - de bewerking is het vereiste public final void setEditorKit (EditorKit edit) .

6. paramString

Dit retourneert een stringvoorstelling van JTextPane.

Syntaxis: protected String paramString() - Deze methode wordt meestal gebruikt voor foutopsporing en de geretourneerde inhoud varieert tussen verschillende implementaties. De geretourneerde tekenreeks kan leeg zijn en niet null.

Programma om JTextPane te implementeren

//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);
)
)

Output:

Conclusie

Daarom wordt het JTextPane altijd gebruikt in gevallen waarin de documenten grafisch moeten worden weergegeven. Alle attributen van een alinea waaraan een logische stijl is gekoppeld, hebben standaardwaarden die worden toegepast als ze niet worden overschreven. Het voordeel van JTextPane ten opzichte van Editor Panes is dat het deze talloze ingebouwde methoden heeft die gemakkelijk zijn aan te roepen en mee te werken. Er is geen HTML- of RTF-bestand nodig om afbeeldingen in te sluiten vanwege de levering van API's in de klasse JTextPane.

Aanbevolen artikelen

Dit is een gids voor JTextPane. Hier bespreken we de methoden, constructeurs en het programma om JTextPane te implementeren met de syntaxis en uitvoer. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. JTextField in Java
  2. JPanel in Java
  3. JButton in Java
  4. JSplitPane
  5. Gooien versus Gooien | Top 5 verschillen die u moet weten