Úvod do JTextPane

JTextPane se používá pro stylizaci dokumentu a pro jeho grafické znázornění a obsahuje vložené obrázky a další komponenty. Je to podtřída JEditorPane, která tvoří základ pro stylizované komponenty textu poskytovaného balíčkem Java Swing Package. To lze také použít pro přidání vlastních textových formátů a pro neřízený text se používá běžná textová oblast. JTextPane používá jako styl model stylizovaných dokumentů pomocí rozhraní StyledDocument. Rozhraní dokumentu je nadřízený, ze kterého je odvozeno rozhraní StyledDocument. Rozhraní dokumentu je také výchozím modelem pro JTextPane.

Konstruktory JTextPane

  1. public JTextPane () : Tento konstruktor zobrazuje novou prázdnou textovou oblast. Tím se vytvoří nová instance StyledEditorKit a nastaví se model dokumentu na null. Tento konstruktor je zděděn z nadřazeného rozhraní JEditorPane.
  2. public JtextPane (StyledDocument doc) : Je vytvořen nový JTextPane s modelem dokumentu určeným klíčovým slovem doc zde. Tento konstruktor je zděděn z dokumentu nadřazeného rozhraní.

Metody JTextPane

V JTextPane jsou implementovány pevné, ale nespočetné metody. Níže uvádíme několik hlavních metod:

1. Styl

Tuto metodu lze použít k začlenění nových stylů do hierarchie logického stylu. Následuje několik podřízených metod odvozených od stylu:

addStyle: Používá se k přidání nového stylu do hierarchie. Atributy, které jsou zde uvedeny, jsou vyřešeny metodou zdola nahoru, takže atribut daný dítěti automaticky přepíše stejný atribut od nadřazeného.

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

str parametr je název jedinečného stylu v jeho sbírce. Název se stane neplatným, když styl přejmenuje. par je určen rodičovský styl. Tato metoda addStyle vrací nový styl.

removeStyle: Slouží k odstranění stylu, který není null dříve přidaný do dokumentu.

Syntaxe: public void removedStyle(String str)

str je název stylu, který má být odstraněn

getStyle: Používá se k načtení názvu stylu, který není null a který byl dříve přidán.

Syntaxe: public Style getStyle (String str)

str je název stylu, který má být načten

setLogicalStyle: Slouží k nastavení stylu použití odstavce z aktuální pozice stříšky.

Syntaxe: public void setLogicalStyle (Style log)

log je logický styl, který je uveden v odstavci

getLogicalStyle: Slouží k načtení logického stylu přiřazeného odstavci nastavenému na aktuální pozici stříšky a vrací styl.

Syntaxe: public Style getLogicalStyle()

2. AttributeSet ()

Existuje mnoho podtříd, které se používají k načtení atributu charakteru, který je na současné pozici stříška. Jsou to následující:

  • public AtrributeSet () getCharacterAttributes (): vrací atributy z aktuální pozice stříšky.
  • public AttributeSet getParagraphAttributes (): Používá se k načtení atributů aktuálního odstavce z aktuální pozice stříšky.
  • public AttributeSet setParagraphAttributes (Atribut atr, boolean new): Používá se k použití atributů předaných jako parametry na odstavec. V případě výběrů použije atributy na odstavce, které protínají tento výběr. A v případě, že neexistuje výběr, použije se na odstavec přítomný na aktuální pozici stříška. atr je předaný atribut a pokud je nový parametr nastaven na true, nejprve nahradí již existující atributy.
  • public MeableAttributeSet getInputAttributes (): Používá se k načtení vstupních atributů pro podokno.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): Používá se k použití předaných atributů na obsah znaku. Atributy se aplikují na vybraný rozsah, když je přítomen výběr, a pokud výběr není přítomen, pak se atributy použijí na každý nový text, který je vložen. new if true vrací existující atributy
  • public AttributeSet getCharacterAttributes (): Načte atributy znaků přítomné v aktuálním umístění nebo nulové hodnoty stříšky.

3. StyledDocument ()

Slouží k načtení modelu, který je přidružen k editoru.

Syntaxe: public StyledDocument getStyledDocument()

4. setDocument

Slouží k přiřazení editoru k textovému dokumentu, který by měl patřit do StyledDocument. Přepíše třídu setDocument z JTextComponent. Proto je nutné, aby dokument, který má být upraven, mohl být převeden na StyledDocument, bez kterého vyvolá IllegalArgumentException.

Syntaxe: public void setDocument(Document new) - nový je dokument, který se má zobrazit nebo změnit.

5. setEditorKit

Slouží k nastavení soupravy, která je v současné době nainstalována pro manipulaci s obsahem. Toto je vlastnost, která se používá ke stanovení typu obsahu editoru. Přepíše sadu SetEditorKit ze třídy JEditorPane. To také vyvolá IllegalArgumentException, pokud souprava nepatří do StyledEditorKit.

Syntaxe: public final void setEditorKit (EditorKit edit) - editace je požadované chování soupravy.

6. paramString

Vrací řetězcovou reprezentaci JTextPane.

Syntaxe: protected String paramString() - Tato metoda se používá většinou pro ladění a její vrácený obsah se v různých implementacích liší. Vrácený řetězec může být prázdný a ne null.

Program implementace 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ýstup:

Závěr

Proto se JTextPane vždy používá v případech, kdy je třeba dokumenty graficky znázornit. Všechny atributy odstavce, který má připojený logický styl, mají výchozí hodnoty, které budou použity v případě, že nebudou přepsány. Výhodou JTextPane oproti panelům Editoru je, že má tyto četné vestavěné metody, se kterými lze snadno volat a pracovat. Není nutné, aby žádný soubor HTML nebo RTF vkládal obrázky kvůli poskytování API uvedených ve třídě JTextPane.

Doporučené články

Toto je průvodce JTextPane. Zde diskutujeme o metodách, konstruktérech a programech pro implementaci JTextPane se syntaxí a výstupem. Další informace naleznete také v následujícím článku -

  1. JTextField v Javě
  2. JPanel v Javě
  3. JButton v Javě
  4. JSplitPane
  5. Throw vs Throw | 5 hlavních rozdílů, které byste měli vědět

Kategorie: