Introducere în JTextPane

JTextPane este utilizat pentru stilizarea unui document și pentru reprezentarea grafică a acestuia și are imagini încorporate și alte componente. Este o subclasă a JEditorPane care constituie baza componentelor stilate pentru textul furnizat de Java Swing Package. Aceasta poate fi folosită și pentru adăugarea de formate de text personalizate și pentru textul neetilat, se folosește o zonă text normală. JTextPane utilizează documente stilate utilizând o interfață StyledDocument ca model. Interfața document este părintele de la care derivă interfața StyledDocument. Interfața de document este, de asemenea, modelul implicit pentru JTextPane.

Constructorii JTextPane

  1. public JTextPane () : Acest constructor afișează o nouă zonă de text goală. Aceasta creează o nouă instanță a StyledEditorKit și stabilește modelul de document la null. Acest constructor este moștenit de la interfața părinte JEditorPane.
  2. public JtextPane (document StyledDocument) : Un nou JTextPane este creat cu modelul de document specificat de documentul de cuvinte cheie aici. Acest constructor este moștenit din documentul interfeței părinte.

Metode de JTextPane

Există metode fixe, dar nenumărate, implementate în JTextPane. Câteva dintre metodele majore sunt enumerate mai jos:

1. Stil

Această metodă poate fi utilizată pentru a încorpora noi stiluri în ierarhia stilului logic. În continuare, câteva dintre metodele copil derivate din Stil sunt:

addStyle: Acesta este folosit pentru a adăuga un stil nou ierarhiei. Atributele menționate aici sunt rezolvate printr-o metodă de jos în sus, astfel încât atributul dat copilului să înlocuiască automat același atribut de la părinte.

Sintaxă: public Style addStyle (String str, Style par)

parametrul str este numele stilului unic din colecția sa. Numele devine nul atunci când stilul trece fără nume. par este specificat stilul părinte. Această metodă addStyle returnează noul stil.

removeStyle: Acesta este utilizat pentru a elimina un stil care nu este nul adăugat anterior în document.

Sintaxă: public void removedStyle(String str)

str. numele stilului care trebuie eliminat

getStyle: Este folosit pentru a obține numele stilului care nu este nul și care a fost adăugat anterior.

Sintaxă: public Style getStyle (String str)

str este numele stilului care trebuie preluat

setLogicalStyle: Se utilizează pentru a seta stilul de a folosi paragraful din poziția actuală.

Sintaxa: public void setLogicalStyle (Style log)

jurnalul este stilul logic care este dat paragrafului

getLogicalStyle: Folosit pentru a prelua stilul logic dat la paragraful setat în poziția actuală de îngrijire și returnează Stilul.

Sintaxă: public Style getLogicalStyle()

2. AttributeSet ()

Există o mulțime de subclase care sunt utilizate pentru a prelua atributul de caracter care este în poziția actuală de îngrijit. Acestea sunt următoarele:

  • public AtrributeSet () getCharacterAttributes (): returnează atributele din poziția actuală de îngrijire.
  • public AttributeSet getParagraphAttributes (): Folosit pentru a prelua atributele prezentului paragraf din poziția actuală de îngrijire.
  • public AttributeSet setParagraphAttributes (Atribut atr, boolean nou): Folosit pentru a aplica atributele trecute ca parametri la paragraf. În cazul selecțiilor, aplică atributele paragrafelor care intersectează această selecție. Iar în cazul în care nu există selecție, se aplică paragrafului prezent la poziția actuală de îngrijire. atr este atributul trecut și dacă noul parametru este dat adevărat, înlocuiește mai întâi atributele deja existente.
  • public MutableAttributeSet getInputAttributes (): utilizat pentru a obține atributele de intrare pentru panou.
  • public void setCharacterAttributes (AttributeSet atr, boolean nou): Folosit pentru a aplica atributele trecute conținutului caracterului. Atributele se aplică intervalului selectat atunci când este prezentă o selecție și dacă selecția nu este prezentă, atunci atributele se aplică oricărui text nou introdus. nou dacă adevărat returnează atributele existente
  • public AttributeSet getCharacterAttributes (): preia atributele de caracter prezente în locația actuală de îngrijire sau nule.

3. StyledDocument ()

Este folosit pentru a prelua modelul care este asociat cu editorul.

Sintaxa: public StyledDocument getStyledDocument()

4. setDocument

Folosit pentru a asocia editorul cu un document text care ar trebui să aparțină StyledDocument. Înlocuiește clasa setDocument de la JTextComponent. Prin urmare, este necesar ca documentul care urmează să fie editat să poată fi convertit într-un document StyledDocument fără ca acesta să arunce o IllegalArgumentException.

Sintaxa: public void setDocument(Document new) - nou este documentul care trebuie afișat sau modificat.

5. setEditorKit

Se folosește pentru setarea kitului care este instalat în prezent pentru manipularea conținutului. Aceasta este proprietatea utilizată pentru a stabili tipul de conținut al editorului. Înlocuiește setEditorKit din clasa JEditorPane. De asemenea, aceasta aruncă o excepție IllegalArgumentException dacă kitul nu aparține StyledEditorKit.

Sintaxă: public final void setEditorKit (EditorKit edit) - editarea este comportamentul necesar al kitului.

6. paramString

Aceasta returnează o reprezentare șir a JTextPane.

Sintaxă: protected String paramString() - Această metodă este utilizată mai ales pentru depanare, iar conținutul returnat variază între diferite implementări. Șirul returnat poate fi gol și nu nul.

Program pentru implementarea 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);
)
)

ieşire:

Concluzie

Prin urmare, JTextPane este întotdeauna utilizat în cazurile în care documentele trebuie să fie reprezentate grafic. Toate atributele unui paragraf cu un stil logic atașat au valori implicite care vor fi aplicate în cazul în care nu sunt suprasolicitate. Avantajul pe care JTextPane îl are asupra editorilor este că are aceste numeroase metode încorporate care sunt ușor de apelat și de utilizat. Nu este nevoie ca niciun fișier HTML sau RTF să încorporeze imagini din cauza furnizării de API-uri date în clasa JTextPane.

Articole recomandate

Acesta este un ghid pentru JTextPane. Aici discutăm despre Metode, Constructori și Program pentru a implementa JTextPane cu sintaxa și ieșire. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. JTextField în Java
  2. JPanel în Java
  3. JButton în Java
  4. JSplitPane
  5. Aruncă vs Aruncă | Top 5 diferențe pe care ar trebui să le știi