Introduktion til JTextPane

JTextPane bruges til at stilisere et dokument og til at repræsentere det grafisk og har indlejrede billeder og andre komponenter. Det er en underklasse af JEditorPane, der danner basis for stylede komponenter til teksten fra Java Swing Package. Dette kan også bruges til at tilføje brugerdefinerede tekstformater, og til unstyled tekst bruges et almindeligt tekstområde. JTextPane bruger brugen af ​​stylede dokumenter ved hjælp af en StyledDocument-interface som model. Dokumentgrænseflade er den overordnede, hvorfra StyledDocument-interface er afledt. Dokumentgrænsefladen er også standardmodellen for JTextPane.

Konstruktører af JTextPane

  1. public JTextPane () : Denne konstruktør viser et nyt tomt tekstområde. Dette opretter en ny forekomst af StyledEditorKit og indstiller dokumentmodellen til null. Denne konstruktør er arvet fra det overordnede interface JEditorPane.
  2. public JtextPane (StyledDocument doc) : En ny JTextPane oprettes med dokumentmodellen specificeret af nøgleordet doc her. Denne konstruktør er arvet fra det overordnede interface-dokument.

Metoder til JTextPane

Der er faste, men utallige metoder, der er implementeret i JTextPane. Nogle af de vigtigste metoder er anført nedenfor:

1. Style

Denne metode kan bruges til at inkorporere nye stilarter i det logiske stilhierarki. Følgende er et par af de barnemetoder, der stammer fra Style:

addStyle: Dette bruges til at tilføje en ny stil til hierarkiet. Attributterne, der er nævnt her, løses i en bottom-up-metode, således at den attribut, der er givet til barnet, automatisk tilsidesætter den samme attribut fra forælderen.

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

str-parameter er navnet på den unikke stil inden for dens samling. Navnet bliver null, når stilen ikke bliver navngivet. par er den angivne overordnede stil. Denne metode addStyle returnerer den nye stil.

removeStyle: Dette bruges til at fjerne en stil, der tidligere er tilføjet til dokumentet.

Syntaks: public void removedStyle(String str)

str er navnet på den stil, der skal fjernes

getStyle: Det bruges til at hente navnet på stilen ikke-null, og som tidligere blev tilføjet.

Syntaks: public Style getStyle (String str)

str er navnet på den stil, der skal hentes

setLogicalStyle: Bruges til at indstille stilen til at bruge afsnittet fra den aktuelle caret-position.

Syntaks: public void setLogicalStyle (Style log)

log er den logiske stil, der gives til afsnittet

getLogicalStyle: Bruges til at hente den logiske stil, der er givet til det afsnit, der er angivet i den aktuelle caret-position og returnerer stilen.

Syntaks: public Style getLogicalStyle()

2. AttributeSet ()

Der er mange underklasser, der bruges til at hente karakterattributten, der er i den aktuelle position af caret. De er som følger:

  • public AtrributeSet () getCharacterAttributes (): returnerer attributterne fra den aktuelle caret-position.
  • public AttributeSet getParagraphAttribut (): Bruges til at hente aktuelle afsnit-attributter fra den aktuelle caret-position.
  • public AttributeSet setParagraphAttributes (Attribut atr, boolsk ny): Bruges til at anvende de attributter, der er sendt som parametre til afsnittet. I tilfælde af markeringer anvender det attributterne til de afsnit, der krydser dette valg. Og i det tilfælde, hvor der ikke er noget valg, anvendes det på det afsnit, der er til stede på den aktuelle position. atr er den attributt, der er videregivet, og hvis den nye parameter gemmes, erstatter den først de allerede eksisterende attributter.
  • public MutableAttributeSet getInputAttributter (): Bruges til at hente inputattributterne for ruden.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): Bruges til at anvende de bestilte attributter på tegnindholdet . Attributterne anvendes til det valgte interval, når et markering er til stede, og hvis markeringen ikke er til stede, anvendes attributterne på enhver ny tekst, der indsættes. nyt hvis sandt returnerer de eksisterende attributter
  • public AttributeSet getCharacterAttribute (): Henter de karakterattributter, der findes på den aktuelle placering af nulstillingen eller nul.

3. StyledDocument ()

Det bruges til at hente den model, der er tilknyttet redaktøren.

Syntaks: public StyledDocument getStyledDocument()

4. setDocument

Bruges til at knytte redaktøren til et tekstdokument, der skulle høre til StyledDocument. Det tilsidesætter setDocument-klassen fra JTextComponent. Derfor kræves det, at det dokument, der skal redigeres, skal kunne konverteres til et StyledDocument, uden hvilket det kaster en IllegalArgumentException.

Syntaks: public void setDocument(Document new) - nyt er det dokument, der skal vises eller ændres.

5. sætEditorKit

Bruges til at indstille det sæt, der i øjeblikket er installeret til håndtering af indholdet. Dette er den egenskab, der bruges til at etablere redaktørens indholdstype. Det tilsidesætter setEditorKit fra klassen JEditorPane. Dette kaster også en IllegalArgumentException, hvis kittet ikke hører til StyledEditorKit.

Syntaks: public final void setEditorKit (EditorKit edit) - redigeringen er den krævede public final void setEditorKit (EditorKit edit) .

6. paramString

Dette returnerer en strengrepræsentation af JTextPane.

Syntaks: protected String paramString() - Denne metode bruges mest til fejlsøgning, og dens indhold, der returneres, varierer mellem forskellige implementeringer. Den returnerede streng kan være tom og ikke null.

Program til implementering af 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:

Konklusion

Derfor bruges JTextPane altid i tilfælde, hvor dokumenterne skal repræsenteres grafisk. Alle attributter i et afsnit, der har knyttet en logisk stil, har standardværdier, der vil blive anvendt, hvis de ikke tilsidesættes. Fordelen JTextPane har over Editor Panes er, at den har disse mange indbyggede metoder, der er nemme at ringe til og arbejde med. Der er ikke behov for nogen HTML- eller RTF-fil for at integrere billeder på grund af leveringen af ​​API'er, der er angivet i JTextPane-klassen.

Anbefalede artikler

Dette er en guide til JTextPane. Her diskuterer vi metoder, konstruktører og program til implementering af JTextPane med syntaks og output. Du kan også se på den følgende artikel for at lære mere -

  1. JTextField i Java
  2. JPanel i Java
  3. JButton i Java
  4. JSplitPane
  5. Kast vs kaster | Top 5 forskelle, du burde vide

Kategori: