Bevezetés a JTextPane-be

A JTextPane egy dokumentum stilizálására és grafikus ábrázolására szolgál, és beágyazott képeket és egyéb összetevőket tartalmaz. Ez a JEditorPane alosztálya, amely alapja a Java Swing Package által biztosított szöveg stílusos összetevőinek. Ezt fel lehet használni az egyedi szöveges formátumok hozzáadásához és a nem stílusos szövegekhez is egy rendes szöveges területet használnak. A JTextPane a stílusos dokumentumokat a StyledDocument interfész felhasználásával használja. A dokumentum interfész az a szülő, amelyből a StyledDocument interfész származik. A dokumentum interfész a JTextPane alapértelmezett modellje.

A JTextPane kivitelezői

  1. public JTextPane () : Ez a kivitelező új üres szöveges területet jelenít meg. Ez létrehozza a StyledEditorKit új példányát, és a dokumentummodellt nullára állítja. Ez a konstruktor a JEditorPane szülő felülettől örökölt.
  2. public JtextPane (StyledDocument doc) : Új JTextPane jön létre a dokumentum kulcsszó által megadott dokumentummodell segítségével. Ezt a konstruktort a szülő interfész dokumentum örökölte.

A JTextPane módszerei

A JTextPane-ben rögzített, de számtalan módszer van megvalósítva. Néhány fő módszer felsorolása az alábbiakban található:

1. Stílus

Ez a módszer felhasználható új stílusok beépítésére a logikai stílushierarchiába. Az alábbiakban felsorolunk néhány, a stílusból származó gyermekmódszert:

addStyle: Ezzel új stílust adnak a hierarchiához. Az itt említett attribútumokat egy alulról felfelé építkező módszerrel oldják meg, úgy, hogy a gyermeknek megadott attribútum automatikusan felülírja ugyanazt az attribútumot, mint a szülő.

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

str paraméter a gyűjteményben szereplő egyedi stílus neve. A név semmissé válik, ha a stílus megnevezésre kerül. par a megadott szülőstílus. Ez az addStyle módszer visszatér az új stílushoz.

removeStyle: Ezt a stílust eltávolítják, amely egy előzőleg a dokumentumhoz hozzáadott stílus volt.

Szintaxis: public void removedStyle(String str)

str az eltávolítandó stílus neve

getStyle: A nem-null stílus nevének lekérésére szolgál, amelyet korábban adtak hozzá.

Szintaxis: public Style getStyle (String str)

str a visszahívandó stílus neve

setLogicalStyle: A stílus beállításához használja a bekezdést a jelenlegi caret helyzetből.

Szintaxis: public void setLogicalStyle (Style log)

a log a logikai stílus, amelyet a bekezdésnek kap

getLogicalStyle: A jelenlegi caret helyzetben lévő bekezdéshez megadott logikai stílus visszakeresésére és a stílus visszaadására szolgál.

Szintaxis: public Style getLogicalStyle()

2. AttributeSet ()

Sok alosztályt használnak arra a karakter attribútumra, amely a caret jelenlegi helyzetében található. Ezek a következők:

  • public AtrributeSet () getCharacterAttributes (): visszaadja az attribútumokat az aktuális caret pozícióból.
  • public AttributeSet getParagraphAttributes (): A jelenlegi bekezdések attribútumainak lekérésére szolgál az aktuális caret pozícióból.
  • public AttributeSet setParagraphAttributes (Attribútum atr, logikai új): A paraméterekként átadott attribútumok alkalmazására szolgál a bekezdéshez. Kiválasztások esetén az attribútumokat alkalmazza azokra a bekezdésekre, amelyek metszik ezt a választást. És abban az esetben, ha nincs választás, akkor a jelenlegi caret helyzetben lévő bekezdésre alkalmazzák. az atr átadott attribútum, és ha az új paraméter igaz, akkor először a már létező attribútumokat váltja fel.
  • public MvableAttributeSet getInputAttributes (): Az ablaktábla bemeneti attribútumainak beolvasására szolgál.
  • public void setCharacterAttributes (AttributeSet atr, logikai új): Az átadott attribútumok alkalmazására szolgál a karakter tartalmára. Az attribútumokat a kiválasztott tartományra alkalmazzák, ha van egy kiválasztás, és ha a választás nincs jelen, akkor az attribútumokat minden új beillesztett szövegre alkalmazni kell. új, ha igaz, a meglévő attribútumokat adja vissza
  • public AttributeSet getCharacterAttributes (): Az aktuális caret helynél vagy null karakter attribútumok beolvasása.

3. StyledDocument ()

A szerkesztőhöz társított modell lekérésére szolgál.

Szintaxis: public StyledDocument getStyledDocument()

4. setDocument

A szerkesztő hozzárendeléséhez egy szöveges dokumentumhoz, amelynek a StyledDocument-hoz kell tartoznia. Ez felülbírálja a JTextComponent setDocument osztályát. Ezért szükséges, hogy a szerkesztendő dokumentumot képes legyen átalakítani StyledDocumentummá, amely nélkül IllegalArgumentException fájlt dob.

Szintaxis: public void setDocument(Document new) - új a megjelenítendő vagy megváltoztatandó dokumentum.

5. setEditorKit

A tartalom kezelésére jelenleg telepített készlet beállításához szolgál. Ez a tulajdonság a szerkesztő tartalomtípusának megállapításához. Ez felülbírálja a setEditorKit-et a JEditorPane osztályból. Ez egy IllegalArgumentException-et is dob, ha a készlet nem tartozik a StyledEditorKit-hez.

Szintaxis: public final void setEditorKit (EditorKit edit) - a szerkesztés a szükséges kit viselkedés.

6. paramString

Ez visszaadja a JTextPane karakterlánc-ábrázolását.

Szintaxis: protected String paramString() - Ezt a módszert leginkább a hibakereséshez használják, és a visszatérített tartalom a megvalósításoktól függ. A visszaadott karakterlánc lehet üres és nem is nulla.

Program a JTextPane megvalósításához

//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);
)
)

Kimenet:

Következtetés

Ezért a JTextPane-t mindig használják azokban az esetekben, amikor a dokumentumokat grafikusan kell ábrázolni. A logikai stílushoz csatolt bekezdések minden attribútumának alapértelmezett értékei vannak, amelyeket akkor alkalmazunk, ha nem kerülnek felülírásra. A JTextPane előnye a Szerkesztőpanelekkel szemben az, hogy ezeknek a beépített módszereknek a használata könnyen hívható és használható. A JTextPane osztályban megadott API-k biztosítása miatt nincs szükség HTML vagy RTF fájlok képeinek beágyazására.

Ajánlott cikkek

Ez egy útmutató a JTextPane-hez. Itt megvitatjuk a JTextPane szintaxissal és outputdal történő megvalósításának módszereit, kivitelezőit és programját. A következő cikkben további információkat is megnézhet -

  1. JTextField Java
  2. JPanel Java
  3. JButton Java-ban
  4. JSplitPane
  5. Dobás és dobás | Öt legfontosabb különbség, amelyet tudnia kell

Kategória: