Introduksjon til JTextPane

JTextPane brukes til å stilisere et dokument og for å representere det grafisk og har innebygd bilder og andre komponenter. Det er en underklasse av JEditorPane som danner basen for stylede komponenter for teksten levert av Java Swing Package. Dette kan også brukes til å legge til tilpassede tekstformater og for ustylert tekst brukes et vanlig tekstområde. JTextPane gjør bruk av stylede dokumenter ved å bruke et StyledDocument-grensesnitt som modell. Dokumentgrensesnitt er det overordnede som StyledDocument-grensesnittet er avledet fra. Dokumentgrensesnittet er også standardmodellen for JTextPane.

Konstruktører av JTextPane

  1. public JTextPane () : Denne konstruktøren viser et nytt blankt tekstområde. Dette oppretter en ny forekomst av StyledEditorKit og setter dokumentmodellen til null. Denne konstruktøren er arvet fra det overordnede grensesnittet JEditorPane.
  2. public JtextPane (StyledDocument doc) : En ny JTextPane opprettes med dokumentmodellen som er spesifisert av nøkkelordet doc her. Denne konstruktøren er arvet fra det overordnede grensesnittet Document.

Metoder for JTextPane

Det er faste, men utallige metoder implementert i JTextPane. Noen av de viktigste metodene er listet ned nedenfor:

1. Stil

Denne metoden kan brukes til å innlemme nye stiler i det logiske stilhierarkiet. Følgende er noen av barnemetodene hentet fra Style:

addStyle: Dette brukes til å legge til en ny stil i hierarkiet. Attributtene som er nevnt her blir løst i en bottom-up-metode slik at attributtet gitt til barnet automatisk vil overstyre den samme attributten fra foreldrene.

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

str-parameter er navnet på den unike stilen i samlingen. Navnet blir null når stilen går uten navn. par er forelderstilen som er spesifisert. Denne metoden addStyle returnerer den nye stilen.

removeStyle: Dette brukes til å fjerne en stil som ikke er null enn tidligere lagt til i dokumentet.

Syntaks: public void removedStyle(String str)

str er navnet på stilen som skal fjernes

getStyle: Det brukes til å hente navnet på stilen ikke-null og som tidligere ble lagt til.

Syntaks: public Style getStyle (String str)

str er navnet på stilen som skal hentes

setLogicalStyle: Brukes til å angi stilen for å bruke avsnittet fra den nåværende caret-posisjonen.

Syntaks: public void setLogicalStyle (Style log)

logg er den logiske stilen som er gitt til avsnittet

getLogicalStyle: Brukes for å hente den logiske stilen gitt til avsnittet som er angitt i den nåværende stilling og returnerer stilen.

Syntaks: public Style getLogicalStyle()

2. AttributeSet ()

Det er mange underklasser som brukes til å hente karakterattributtet som er i den nåværende posisjonen til caret. De er som følger:

  • public AtrributeSet () getCharacterAttributter (): returnerer attributtene fra gjeldende vaktposisjon.
  • public AttributeSet getParagraphAttribut (): Brukes for å hente nåværende avsnittsattributter fra nåværende caret-posisjon.
  • public AttributeSet setParagraphAttributter (Attributt atr, boolsk ny): Brukes til å bruke attributtene som er passert som parametere på avsnittet. Når det gjelder valg, bruker det attributtene til avsnittene som krysser dette valget. Og i tilfelle når det ikke er noe valg, blir det brukt på avsnittet som er til stede på gjeldende vaktposisjon. atr er attributtet som er bestått, og hvis den nye parameteren blir gitt, erstatter den først de allerede eksisterende attributtene.
  • public MutableAttributeSet getInputAttributter (): Brukes til å hente inngangsattributtene for ruten.
  • public void setCharacterAttributies (AttributeSet atr, boolean new): Brukes til å bruke de passerte attributtene på tegninnholdet . Attributtene brukes på det valgte området når et utvalg er til stede, og hvis utvalget ikke er til stede, blir attributtene brukt på en ny tekst som er satt inn. nytt hvis sant returnerer de eksisterende attributtene
  • public AttributeSet getCharacterAttribut (): Henter karakterattributtene som er til stede på gjeldende vaktplassering eller null.

3. StyledDocument ()

Den brukes til å hente modellen som er tilknyttet redaktøren.

Syntaks: public StyledDocument getStyledDocument()

4. setDocument

Brukes til å knytte redaktøren til et tekstdokument som skal tilhøre StyledDocument. Den overstyrer setDocument-klassen fra JTextComponent. Derfor kreves det at dokumentet som skal redigeres skal kunne konverteres til et StyledDocument uten at det kaster en IllegalArgumentException.

Syntaks: public void setDocument(Document new) - nytt er dokumentet som skal vises eller endres.

5. setEditorKit

Brukes til å stille inn settet som for øyeblikket er installert for håndtering av innholdet. Dette er egenskapen som brukes til å etablere innholdstypen til redigereren. Den overstyrer setEditorKit fra klassen JEditorPane. Dette kaster også en IllegalArgumentException hvis settet ikke tilhører StyledEditorKit.

Syntaks: public final void setEditorKit (EditorKit edit) - redigeringen er den nødvendige oppførselen til settet.

6. paramString

Dette returnerer en strengrepresentasjon av JTextPane.

Syntaks: protected String paramString() - Denne metoden brukes mest for feilsøking, og innholdet som returneres varierer mellom forskjellige implementeringer. Den returnerte strengen kan være tom og ikke null.

Program for å implementere 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);
)
)

Produksjon:

Konklusjon

Derfor brukes JTextPane alltid i tilfeller der dokumentene må være grafisk representert. Alle attributtene til et avsnitt som har en logisk stil vedlagt, har standardverdier som vil bli brukt i tilfelle de ikke blir tilsidesatt. Fordelen JTextPane har fremfor Editor Panes er at den har disse mange innebygde metodene som er enkle å ringe og jobbe med. Det er ikke behov for noen HTML- eller RTF-fil for å legge inn bilder på grunn av tilbudet av API-er gitt i JTextPane-klassen.

Anbefalte artikler

Dette er en guide til JTextPane. Her diskuterer vi Metoder, konstruktører og program for å implementere JTextPane med syntaks og output. Du kan også se på følgende artikkel for å lære mer -

  1. JTextField i Java
  2. JPanel i Java
  3. JButton i Java
  4. JSplitPane
  5. Kast vs kaster | Topp 5 forskjeller du burde vite