Вступ до JTextPane

JTextPane використовується для стилізації документа та його графічного представлення та вбудованих зображень та інших компонентів. Це підклас JEditorPane, який складає основу для стильових компонентів для тексту, наданого Java Swing Package. Це також може бути використано для додавання власних текстових форматів, а для стилю тексту - звичайна область тексту. JTextPane використовує стильові документи, використовуючи інтерфейс StyledDocument як модель. Інтерфейс документа - це батько, з якого походить інтерфейс StyledDocument. Інтерфейс документа - це також модель за замовчуванням для JTextPane.

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

  1. public JTextPane () : Цей конструктор відображає нову порожню область тексту. Це створює новий екземпляр StyledEditorKit і встановлює нульову модель документа. Цей конструктор успадковується від батьківського інтерфейсу JEditorPane.
  2. public JtextPane (doc. StyledDocument) : новий JTextPane створюється з моделлю документа, вказаною тут ключовим словом doc. Цей конструктор успадковується від батьківського інтерфейсу Document.

Методи JTextPane

У JTextPane реалізовані фіксовані, але незліченні методи. Нижче наведено кілька основних методів:

1. Стиль

Цей метод може бути використаний для включення нових стилів в ієрархію логічного стилю. Нижче наведено декілька дочірніх методів, отриманих від стилю:

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)

журнал - це логічний стиль, який задано абзацу

getLogicalStyle: використовується для отримання логічного стилю, заданого абзацу, встановленого в поточній позиції карети, і повертає Style.

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

2. AttributeSet ()

Існує багато підкласів, які використовуються для отримання атрибута символів, який знаходиться в теперішньому положенні каре. Вони такі:

  • public AtrributeSet () getCharacterAttributes (): повертає атрибути з поточної позиції каретки.
  • public AttributeSet getParagraphAttributes (): використовується для отримання атрибутів абзацу з поточного положення карети.
  • public AttributeSet setParagraphAttributes (Attribute atr, boolean new): використовується для застосування атрибутів, переданих як параметри до абзацу. У разі виділень він застосовує атрибути до абзаців, які перетинають цей вибір. І у випадку, коли немає вибору, він застосовується до абзацу, присутнього в поточній позиції каретки. atr - атрибут, що передається, і якщо новому параметру задано значення true, він спочатку замінює вже існуючі атрибути.
  • 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() - Цей метод використовується здебільшого для налагодження, і його вміст, що повертається, змінюється в різних реалізаціях. Повертається рядок може бути порожнім і недійсним.

Програма для реалізації 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 відмінностей, які ви повинні знати