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
- 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.
- 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 -
- JTextField Java
- JPanel Java
- JButton Java-ban
- JSplitPane
- Dobás és dobás | Öt legfontosabb különbség, amelyet tudnia kell