Úvod do JTextPane

JTextPane sa používa na štylizáciu dokumentu a na jeho grafické znázornenie a obsahuje vložené obrázky a ďalšie komponenty. Je to podtrieda JEditorPane, ktorá tvorí základ pre štylizované komponenty pre text poskytovaný balíkom Java Swing Package. Môže sa to tiež použiť na pridávanie vlastných textových formátov a pre neviazaný text sa používa obyčajná textová oblasť. JTextPane ako model používa použitie štýlových dokumentov pomocou rozhrania StyledDocument. Rozhranie dokumentu je rodič, z ktorého je odvodené rozhranie StyledDocument. Rozhranie dokumentu je tiež predvoleným modelom pre JTextPane.

Konštruktori JTextPane

  1. public JTextPane () : Tento konštruktor zobrazuje novú prázdnu textovú oblasť. Takto sa vytvorí nová inštancia štýlu StyledEditorKit a nastaví sa model dokumentu na null. Tento konštruktor sa dedí z nadradeného rozhrania JEditorPane.
  2. public JtextPane (StyledDocument doc) : Vytvorí sa nový JTextPane s modelom dokumentu určeným kľúčovým slovom doc. Tento konštruktor sa zdedil z dokumentu nadradeného rozhrania.

Metódy JTextPane

V JTextPane sú implementované pevné, ale nespočetné metódy. Ďalej uvádzame niekoľko hlavných metód:

1. Štýl

Táto metóda sa môže použiť na začlenenie nových štýlov do hierarchie logického štýlu. Nasleduje niekoľko detských metód odvodených od štýlu:

addStyle: Používa sa na pridanie nového štýlu do hierarchie. Atribúty, ktoré sú tu uvedené, sa riešia metódou zdola nahor, takže atribút priradený dieťaťu automaticky prepíše rovnaký atribút od rodiča.

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

str parameter je názov jedinečného štýlu v rámci jeho kolekcie. Názov sa stane neplatným, keď štýl zostane bez názvu. par je určený rodičovský štýl. Táto metóda addStyle vracia nový štýl.

removeStyle: Používa sa na odstránenie štýlu, ktorý nie je null predtým pridaný do dokumentu.

Syntax: public void removedStyle(String str)

str je názov štýlu, ktorý sa má odstrániť

getStyle: Používa sa na načítanie názvu štýlu, ktorý nie je null a ktorý bol predtým pridaný.

Syntax: public Style getStyle (String str)

str je názov štýlu, ktorý sa má načítať

setLogicalStyle: Používa sa na nastavenie štýlu na použitie odseku z aktuálnej polohy vstavca.

Syntax: public void setLogicalStyle (Style log)

log je logický štýl, ktorý je daný odseku

getLogicalStyle: Používa sa na načítanie logického štýlu priradeného odseku nastavenému na súčasnej pozícii vstavca a vráti Štýl.

Syntax: public Style getLogicalStyle()

2. AttributeSet ()

Existuje veľa podtried, ktoré sa používajú na získanie atribútu charakteru, ktorý je na súčasnej pozícii zástupcu. Sú to tieto:

  • public AtrributeSet () getCharacterAttributes (): vracia atribúty z aktuálnej pozície zástupcu .
  • public AttributeSet getParagraphAttributes (): Používa sa na načítanie súčasných atribútov odseku z aktuálnej pozície zástupcu.
  • public AttributeSet setParagraphAttributes (Atribút atr, boolean new): Používa sa na použitie atribútov odovzdaných ako parametre pre odsek. V prípade výberov použije atribúty na odseky, ktoré pretínajú tento výber. A v prípade, že nie je k dispozícii žiadny výber, použije sa na odsek prítomný na aktuálnej pozícii zástupcu. atr je odovzdaný atribút a ak je nový parameter zadaný ako true, najskôr nahradí už existujúce atribúty.
  • public MeableAttributeSet getInputAttributes (): Používa sa na načítanie vstupných atribútov pre tablu.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): Používa sa na použitie odovzdaných atribútov na obsah znakov. Atribúty sa aplikujú na vybraný rozsah, keď je prítomný výber, a ak výber nie je k dispozícii, atribúty sa použijú na každý nový text, ktorý sa vloží. new if true vráti existujúce atribúty
  • public AttributeSet getCharacterAttributes (): Načíta atribúty znakov prítomné na aktuálnom mieste alebo na nulovom mieste.

3. StyledDocument ()

Používa sa na načítanie modelu, ktorý je priradený k editoru.

Syntax: public StyledDocument getStyledDocument()

4. setDocument

Používa sa na priradenie editora k textovému dokumentu, ktorý by mal patriť k StyledDocument. Prepíše triedu setDocument z JTextComponent. Preto sa vyžaduje, aby bol dokument, ktorý sa má editovať, schopný konvertovať na StyledDocument, bez ktorého vyvolá IllegalArgumentException.

Syntax: public void setDocument(Document new) - nový je dokument, ktorý sa má zobraziť alebo zmeniť.

5. setEditorKit

Používa sa na nastavenie súpravy, ktorá je v súčasnosti nainštalovaná na manipuláciu s obsahom. Toto je vlastnosť, ktorá sa používa na stanovenie typu obsahu editora. Prepíše súbor setEditorKit z triedy JEditorPane. To tiež vyvolá IllegalArgumentException, ak súprava nepatrí do StyledEditorKit.

Syntax: public final void setEditorKit (EditorKit edit) - úprava je požadované správanie súpravy.

6. paramString

Týmto sa vráti reťazcová reprezentácia JTextPane.

Syntax: protected String paramString() - Táto metóda sa používa väčšinou na ladenie a jej vrátený obsah sa medzi rôznymi implementáciami líši. Vrátený reťazec môže byť prázdny a nie nulový.

Program na implementáciu 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);
)
)

Výkon:

záver

Preto sa JTextPane vždy používa v prípadoch, keď je potrebné dokumenty graficky znázorniť. Všetky atribúty odseku, ktoré majú pripojený logický štýl, majú predvolené hodnoty, ktoré sa použijú v prípade, že nebudú prepísané. Výhodou JTextPane oproti editorom je, že má tieto početné vstavané metódy, s ktorými je ľahké volať a pracovať s nimi. Nie je potrebné, aby žiadny súbor HTML alebo RTF vkladal obrázky kvôli poskytovaniu API uvedených v triede JTextPane.

Odporúčané články

Toto je príručka pre JTextPane. Tu diskutujeme o metódach, konštruktoroch a programoch na implementáciu JTextPane so syntaxou a výstupom. Viac informácií nájdete aj v nasledujúcom článku -

  1. JTextField v Jave
  2. JPanel v Jave
  3. JButton v Jave
  4. JSplitPane
  5. Hodiť vs Hodí | Top 5 rozdielov, ktoré by ste mali vedieť

Kategórie: