Introduktion till JTextPane

JTextPane används för att stilisera ett dokument och för att representera det grafiskt och har inbäddade bilder och andra komponenter. Det är en underklass av JEditorPane som utgör basen för utformade komponenter för texten från Java Swing Package. Detta kan också användas för att lägga till anpassade textformat och för ostylerad text används ett vanligt textområde. JTextPane använder formade dokument med ett StyledDocument-gränssnitt som modell. Dokumentgränssnitt är den överordnade från vilken StyledDocument-gränssnittet härleds. Dokumentgränssnittet är också standardmodellen för JTextPane.

Konstruktörer av JTextPane

  1. public JTextPane () : Denna konstruktör visar ett nytt tomt textområde. Detta skapar en ny instans av StyledEditorKit och sätter dokumentmodellen till null. Denna konstruktör ärvs från modergränssnittet JEditorPane.
  2. public JtextPane (StyledDocument doc) : En ny JTextPane skapas med dokumentmodellen som anges av nyckelordet doc här. Denna konstruktör ärvs från överordnade gränssnittet Dokument.

Metoder för JTextPane

Det finns fasta men otaliga metoder implementerade i JTextPane. Några av de viktigaste metoderna anges nedan:

1. Stil

Den här metoden kan användas för att integrera nya stilar i den logiska stilhierarkin. Följande är några av de barnmetoder som härrör från Style är:

addStyle: Detta används för att lägga till en ny stil i hierarkin. Attributen som nämns här löses i en bottom-up-metod så att attributet som ges till barnet automatiskt åsidosätter samma attribut från föräldern.

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

str-parameter är namnet på den unika stilen i sin samling. Namnet blir ogiltigt när stilen blir obetecknad. par är den angivna förälderstilen. Denna metod addStyle returnerar den nya stilen.

removeStyle: Detta används för att ta bort en stil som är en icke-null som tidigare lagts till dokumentet.

Syntax: public void removedStyle(String str)

str är namnet på den stil som ska tas bort

getStyle: Det används för att hämta namnet på stilen icke-null och som tidigare lades till.

Syntax: public Style getStyle (String str)

str är namnet på den stil som ska hämtas

setLogicalStyle: Används för att ställa in stilen för att använda stycket från nuvarande caret-position.

Syntax: public void setLogicalStyle (Style log)

logg är den logiska stilen som ges till stycket

getLogicalStyle: Används för att hämta den logiska stilen som ges till avsnittet i den aktuella karetpositionen och returnerar stilen.

Syntax: public Style getLogicalStyle()

2. AttributeSet ()

Det finns många underklasser som används för att hämta karaktärattributet som befinner sig i nuvarande position för caret. De är som följer:

  • public AtrributeSet () getCharacterAttribut (): returnerar attributen från den aktuella caretpositionen.
  • public AttributeSet getParagraphAttribut (): Används för att hämta nuvarande styckeattribut från nuvarande caret-position.
  • public AttributeSet setParagraphAttribut (Attribut atr, boolean new): Används för att tillämpa attributen som har skickats som parametrar på stycket. När det gäller markeringar tillämpar det attributen för de stycken som korsar det här valet. Och i fallet när det inte finns något val tillämpas det på det stycke som finns närvarande i den aktuella karetpositionen. atr är attributet som har skickats och om den nya parametern sänds, ersätter den först de redan befintliga attributen.
  • public MutableAttributeSet getInputAttribut (): Används för att hämta inmatningsattributen för rutan.
  • public void setCharacterAttribut (AttributeSet atr, boolean new): Används för att tillämpa de godkända attributen på teckeninnehållet. Attributen tillämpas på det valda intervallet när ett urval är närvarande och om markeringen inte är närvarande appliceras attributen på ny text som infogas. ny om sann returnerar befintliga attribut
  • public AttributeSet getCharacterAttribut (): Hämtar karaktärattribut som finns på den aktuella caret-platsen eller null.

3. StyledDocument ()

Den används för att hämta modellen som är associerad med redigeraren.

Syntax: public StyledDocument getStyledDocument()

4. setDocument

Används för att koppla redaktören till ett textdokument som borde tillhöra StyledDocument. Den åsidosätter klassen setDocument från JTextComponent. Därför krävs det att dokumentet som ska redigeras ska kunna konverteras till ett StyledDocument utan vilket det kastar en IllegalArgumentException.

Syntax: public void setDocument(Document new) - nytt är det dokument som ska visas eller ändras.

5. setEditorKit

Används för att ställa in det kit som för närvarande är installerat för att hantera innehållet. Det här är egenskapen som används för att fastställa redigerarens innehållstyp. Den åsidosätter setEditorKit från klassen JEditorPane. Detta kastar också en IllegalArgumentException om satsen inte tillhör StyledEditorKit.

Syntax: public final void setEditorKit (EditorKit edit) - redigeringen är det nödvändiga kitbeteendet.

6. paramString

Detta returnerar en strängrepresentation av JTextPane.

Syntax: protected String paramString() - Den här metoden används mest för felsökning och dess innehåll som returneras varierar mellan olika implementationer. Den returnerade strängen kan vara tom och inte noll.

Program för att implementera 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);
)
)

Produktion:

Slutsats

Därför används JTextPane alltid i de fall där dokumenten måste representeras grafiskt. Alla attribut för ett stycke med en logisk stil bifogade har standardvärden som kommer att tillämpas om de inte åsidosätts. Fördelen som JTextPane har jämfört med Editor Panes är att den har dessa många inbyggda metoder som är enkla att ringa och arbeta med. Det finns inget behov av någon HTML- eller RTF-fil för att bädda in bilder på grund av tillhandahållandet av API: er som ges i JTextPane-klassen.

Rekommenderade artiklar

Detta är en guide till JTextPane. Här diskuterar vi Metoder, konstruktörer och program för att implementera JTextPane med syntax och utgång. Du kan också titta på följande artikel för att lära dig mer -

  1. JTextField i Java
  2. JPanel i Java
  3. JButton i Java
  4. JSplitPane
  5. Kast vs kastar | Topp 5 skillnader du borde veta

Kategori: