Въведение в JTextPane

JTextPane се използва за стилизиране на документ и за представянето му графично и има вградени изображения и други компоненти. Това е подклас на JEditorPane, който формира основата за стилизирани компоненти за текста, предоставен от Java Swing Package. Това може да се използва и за добавяне на персонализирани текстови формати, а за нестилиран текст се използва обикновена текстова област. JTextPane използва използването на стилизирани документи, използвайки интерфейс StyledDocument за свой модел. Интерфейсът на документа е родителят, от който е изведен интерфейсът StyledDocument. Интерфейсът на документа е също модел по подразбиране за JTextPane.

Конструктори на JTextPane

  1. обществен JTextPane () : Този конструктор показва нова празна текстова област. Това създава нов екземпляр на StyledEditorKit и задава модела на документа на нула. Този конструктор е наследен от родителския интерфейс JEditorPane.
  2. public JtextPane (StyledDocument doc) : Създава се нов JTextPane с модела на документа, посочен от ключовата дума doc тук. Този конструктор е наследен от родителския интерфейсен документ.

Методи на JTextPane

Има фиксирани, но безброй методи, реализирани в JTextPane. По-долу са изброени няколко от основните методи:

1. Стил

Този метод може да се използва за включване на нови стилове в йерархията на логическия стил. Следват няколко от методите на детето, получени от Style са:

addStyle: Използва се за добавяне на нов стил към йерархията. Споменатите тук атрибути се решават по метод отдолу нагоре, така че атрибутът, даден на детето, автоматично ще отмени същия атрибут от родителя.

Синтаксис: public Style addStyle (String str, Style par)

str параметърът е името на уникалния стил в неговата колекция. Името става недействително, когато стилът стане неназован. par е зададен родителски стил. Този метод addStyle връща новия стил.

RemoveStyle: Използва се за премахване на стил, който не е нулев, предварително добавен към документа.

Синтаксис: public void removedStyle(String str)

str е името на стила, който трябва да бъде премахнат

getStyle: Използва се за извличане на името на стила not-null и който беше добавен по-рано.

Синтаксис: public Style getStyle (String str)

str е името на стила, който трябва да бъде извлечен

setLogicalStyle: Използва се за задаване на стил за използване на абзаца от настоящата позиция на карета.

Синтаксис: public void setLogicalStyle (Style log)

log е логическият стил, който е даден на абзаца

getLogicalStyle: Използва се за извличане на логическия стил, даден на абзаца, зададен в настоящата позиция на карета, и връща стила.

Синтаксис: public Style getLogicalStyle()

2. AttributeSet ()

Има много подкласове, които се използват за извличане на атрибута на символа, който се намира в настоящата позиция на карета. Те са както следва:

  • public AtrributeSet () getCharacterAttributes (): връща атрибутите от текущата позиция на карет .
  • public AttributeSet getParagraphAttributes (): Използва се за извличане на настоящите атрибути на абзаца от текущата позиция на карет .
  • public AttributeSet setParagraphAttributes (Attribute atr, boolean new): Използва се за прилагане на атрибутите, предадени като параметри към абзаца. В случай на селекции, той прилага атрибутите към параграфите, които пресичат този избор. И в случай, че няма избор, той се прилага към абзаца, присъстващ в текущата позиция на карет. atr е атрибутът, предаден и ако на новия параметър е дадено вярно, той първо замества вече съществуващите атрибути.
  • public MutableAttributeSet getInputAttributes (): Използва се за извличане на входните атрибути за прозореца.
  • public void setCharacterAttributes (AttributeSet atr, boolean new): Използва се за прилагане на преминалите атрибути към съдържанието на символи. Атрибутите се прилагат към избрания диапазон, когато селекцията е налична и ако селекцията не присъства, тогава атрибутите се прилагат към всеки нов текст, който е вмъкнат. ново, ако true връща съществуващите атрибути
  • public AttributeSet getCharacterAttributes (): Извлича атрибутите на символите, присъстващи в текущото местоположение на карета или нула.

3. StyledDocument ()

Използва се за извличане на модела, който е свързан с редактора.

Синтаксис: public StyledDocument getStyledDocument()

4. setDocument

Използва се за свързване на редактора с текстов документ, който трябва да принадлежи на StyledDocument. Той отменя класа setDocument от JTextComponent. Следователно се изисква документът, който трябва да бъде редактиран, да може да бъде преобразуван в StyledDocument, без който той хвърля IllegalArgumentException.

Синтаксис: public void setDocument(Document new) - нов е документът, който трябва да бъде показан или променен.

5. setEditorKit

Използва се за задаване на комплекта, който понастоящем е инсталиран за работа със съдържанието. Това е свойството, което се използва за установяване на типа съдържание на редактора. Той отменя setEditorKit от клас JEditorPane. Това също хвърля IllegalArgumentException, ако комплектът не принадлежи на StyledEditorKit.

Синтаксис: public final void setEditorKit (EditorKit edit) - редактирането е необходимото поведение на кита.

6. paramString

Това връща стриктно представяне на JTextPane.

Синтаксис: protected String paramString() - Този метод се използва най-вече за отстраняване на грешки и protected String paramString() му съдържание варира в различните реализации. Върнатият низ може да бъде празен и не нулев.

Програма за внедряване на 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);
)
)

изход:

заключение

Следователно JTextPane винаги се използва в случаите, когато документите трябва да бъдат представени графично. Всички атрибути на абзац с прикачен логически стил имат стойности по подразбиране, които ще се прилагат в случай, че не бъдат отменени. Предимството, което JTextPane има пред редакторите е, че има тези многобройни вградени методи, с които е лесно да се обаждате и да работите. Не е необходимо нито един HTML или RTF файл да вгражда изображения поради предоставянето на API, дадени в клас JTextPane.

Препоръчителни статии

Това е ръководство за JTextPane. Тук обсъждаме методите, конструкторите и програмата за изпълнение на JTextPane със синтаксиса и изхода. Можете също да разгледате следната статия, за да научите повече -

  1. JTextField в Java
  2. JPanel в Java
  3. JButton на Java
  4. JSplitPane
  5. Хвърли срещу Хвърли | Топ 5 разлики, които трябва да знаете