Introduzione a JTextPane

JTextPane è usato per stilizzare un documento e per rappresentarlo graficamente e ha immagini e altri componenti incorporati. È una sottoclasse di JEditorPane che costituisce la base per i componenti con stile per il testo fornito da Java Swing Package. Questo può essere utilizzato anche per l'aggiunta di formati di testo personalizzati e per il testo non modificato, viene utilizzata un'area di testo ordinaria. JTextPane fa uso di documenti con stile usando un'interfaccia StyledDocument come modello. L'interfaccia del documento è l'elemento principale da cui deriva l'interfaccia StyledDocument. L'interfaccia del documento è anche il modello predefinito per JTextPane.

Costruttori di JTextPane

  1. public JTextPane () : questo costruttore visualizza una nuova area di testo vuota. Ciò crea una nuova istanza di StyledEditorKit e imposta il modello del documento su null. Questo costruttore è ereditato dall'interfaccia genitore JEditorPane.
  2. public JtextPane (StyledDocument doc) : un nuovo JTextPane viene creato con il modello di documento specificato dalla parola chiave doc qui. Questo costruttore è ereditato dal documento dell'interfaccia padre.

Metodi di JTextPane

Esistono metodi fissi ma innumerevoli implementati in JTextPane. Alcuni dei principali metodi sono elencati di seguito:

1. Stile

Questo metodo può essere utilizzato per incorporare nuovi stili nella gerarchia di stili logici. Di seguito sono riportati alcuni dei metodi figlio derivati ​​da Style:

addStyle: utilizzato per aggiungere un nuovo stile alla gerarchia. Gli attributi qui menzionati vengono risolti in un metodo bottom-up in modo tale che l'attributo assegnato al figlio sovrascriverà automaticamente lo stesso attributo dal genitore.

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

Il parametro str è il nome dello stile unico all'interno della sua raccolta. Il nome diventa nullo quando lo stile diventa senza nome. par è lo stile principale specificato. Questo metodo addStyle restituisce il nuovo stile.

removeStyle: viene utilizzato per rimuovere uno stile diverso da null precedentemente aggiunto al documento.

Sintassi: public void removedStyle(String str)

str è il nome dello stile da rimuovere

getStyle: viene utilizzato per recuperare il nome dello stile non null e che è stato precedentemente aggiunto.

Sintassi: public Style getStyle (String str)

str è il nome dello stile da recuperare

setLogicalStyle: utilizzato per impostare lo stile per utilizzare il paragrafo dalla posizione di inserimento corrente .

Sintassi: public void setLogicalStyle (Style log)

log è lo stile logico che viene dato al paragrafo

getLogicalStyle: utilizzato per recuperare lo stile logico assegnato al paragrafo impostato nella posizione di inserimento corrente e restituisce lo stile.

Sintassi: public Style getLogicalStyle()

2. AttributeSet ()

Esistono molte sottoclassi che vengono utilizzate per recuperare l'attributo personaggio che si trova nella posizione attuale del punto di inserimento. Sono i seguenti:

  • public AtrributeSet () getCharacterAttributes (): restituisce gli attributi dalla posizione di inserimento corrente.
  • public AttributeSet getParagraphAttributes (): utilizzato per recuperare gli attributi di paragrafo presenti dalla posizione di inserimento corrente.
  • public AttributeSet setParagraphAttributes (Attributo atr, booleano nuovo): utilizzato per applicare gli attributi passati come parametri al paragrafo. Nel caso delle selezioni, applica gli attributi ai paragrafi che intersecano questa selezione. E nel caso in cui non vi sia alcuna selezione, viene applicato al paragrafo presente nella posizione di inserimento corrente. atr è l'attributo passato e se il nuovo parametro viene dato true, sostituisce prima gli attributi già esistenti.
  • public MutableAttributeSet getInputAttributes (): utilizzato per recuperare gli attributi di input per il riquadro.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): usato per applicare gli attributi passati al contenuto del personaggio. Gli attributi vengono applicati all'intervallo selezionato quando è presente una selezione e se la selezione non è presente, gli attributi vengono applicati a qualsiasi nuovo testo inserito. nuovo se vero restituisce gli attributi esistenti
  • public AttributeSet getCharacterAttributes (): recupera gli attributi di carattere presenti nella posizione del punto di inserimento corrente o null.

3. StyledDocument ()

Viene utilizzato per recuperare il modello associato all'editor.

Sintassi: public StyledDocument getStyledDocument()

4. setDocument

Utilizzato per associare l'editor a un documento di testo che dovrebbe appartenere a StyledDocument. Sostituisce la classe setDocument da JTextComponent. Pertanto, è necessario che il documento da modificare sia in grado di essere convertito in uno StyledDocument senza il quale genera un'eccezione IllegalArgumentException.

Sintassi: public void setDocument(Document new) - new è il documento da visualizzare o modificare.

5. setEditorKit

Utilizzato per impostare il kit attualmente installato per la gestione del contenuto. Questa è la proprietà utilizzata per stabilire il tipo di contenuto dell'editor. Sostituisce setEditorKit dalla classe JEditorPane. Ciò genera anche un'eccezione IllegalArgumentException se il kit non appartiene a StyledEditorKit.

Sintassi: public final void setEditorKit (EditorKit edit) - la modifica è il comportamento del kit richiesto.

6. paramString

Ciò restituisce una rappresentazione in formato stringa di JTextPane.

Sintassi: protected String paramString() - Questo metodo viene utilizzato principalmente per il debug e il contenuto restituito varia tra le diverse implementazioni. La stringa restituita può essere vuota e non nulla.

Programma per implementare 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);
)
)

Produzione:

Conclusione

Pertanto, JTextPane viene sempre utilizzato nei casi in cui i documenti devono essere rappresentati graficamente. Tutti gli attributi di un paragrafo a cui è associato uno stile logico hanno valori predefiniti che verranno applicati nel caso in cui non vengano sovrascritti. Il vantaggio che JTextPane ha sui pannelli dell'editor è che ha questi numerosi metodi integrati che sono facili da chiamare e lavorare. Non è necessario alcun file HTML o RTF per incorporare immagini a causa della fornitura di API fornite nella classe JTextPane.

Articoli consigliati

Questa è una guida a JTextPane. Qui discutiamo i metodi, i costruttori e il programma per implementare JTextPane con la sintassi e l'output. Puoi anche leggere il seguente articolo per saperne di più -

  1. JTextField in Java
  2. JPanel in Java
  3. JButton in Java
  4. JSplitPane
  5. Lancio contro Lancio | Le 5 differenze principali che dovresti conoscere

Categoria: