Ú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
- 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.
- 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 -
- JTextField v Jave
- JPanel v Jave
- JButton v Jave
- JSplitPane
- Hodiť vs Hodí | Top 5 rozdielov, ktoré by ste mali vedieť