Увод у ЈЕдиторПане

ЈЕдиторПане класа у јави користи се за приказивање текстуалних компоненти које могу да обрађују различите врсте текста са стилом. Подразумевано, он може радити само са ХТМЛ-ом, обичним и обогаћеним текстом (РТФ). ЈЕдиторПане се првенствено користи за приказивање ХТМЛ садржаја са ограниченим основним ХТМЛ ознакама.

Да би имала такво понашање, ова компонента користи имплементације ЕдиторКит. Лепота је у томе што се аутоматски прилагођава одговарајућој врсти уређивача текста зависно од врсте садржаја који му се пружа. Тренутно инсталирани ЕдиторКит користи се за одређивање садржаја на који је уредник везан у било којем тренутку. На пример, ако је садржај компоненте постављен на нови УРЛ, тада се његов тип користи за одређивање ЕдиторКита који би требао бити унапред инсталиран за учитавање садржаја.

Синтакса:

public class JEditorPane extends JTextComponent

Подразумевано је ова класа конфигурисана на следеће три врсте садржаја:

  • тект / плаин: Обичан текст, који је подразумевани тип када садржај није препознат. Овде је овде коришћен комплет проширења ДефаултЕдиторКит који ће створити прекривени прегледни текст.
  • тект / ХТМЛ: ХТМЛ текст. Овде се користи клас јавак.свинг.тект.хтмл.ХТМЛЕдиторкит који ће пружити подршку до ХТМЛ-а (вер. 3.2).
  • текст / РТФ: РТФ текст. Овде се користи клас јавак.свинг.тект.ртф.РТФЕдиторкит који пружа ограничену подршку обогаћеном тексту формату.

Конструктори ЈЕдиторПане-а

Испод су конструктори ЈЕдиторПане-а:

  1. ЈЕдиторПане (): Ова врста конструктора ће једноставно створити нови ЈЕдиторПане.
  2. ЈЕдиторПане (стринг стринг): Ова врста конструктора ће креирати ЈЕдиторПане на основу низа у параметру који садржи спецификације УРЛ-а.
  3. ЈЕдиторПане (почетна страница УРЛ-а): Овај конструктор ће креирати ЈЕдиторПане на основу наведеног УРЛ-а у улазном параметру.
  4. ЈЕдиторПане (врста низа, Стринг текст): Овај конструктор ће креирати ЈЕдиторПане који је иницијализиран на текст дат у параметру.

Неке корисне методе класе ЈЕдитоПане

Следи метода следећа:

  1. воид сетТект (Стринг тект): Ова метода ће поставити текст компоненте са наведеним текстом наведеним у улазу, за који се очекује да ће бити у истом типу садржаја као и уређивач.
  2. Воид гетТект (): Ова метода ће вратити текст компоненте унутар задате врсте садржаја уређивача.
  3. Воид сетПаге (УРЛ страница): Ова метода ће покренути ЈЕдиторПане да прикаже наведени УРЛ као тренутну страницу.
  4. Воид сетЦонтентТипе (врста стринга): Ова метода се користи за подешавање врсте садржаја којим уређивач може да управља.
  5. Поништи аддХиперлинкЛистенер (ХиперлинкЛистенер листенер): Ова метода ће додати компоненту која слуша хипервезу која ће помоћи у обавештавању кад год се кликне или одабере веза или хипервеза.

Пример класе ЈЕдиторПане

Испод су примери ЈЕдиторПане-а:

Овде ћемо у овом примеру створити читач веб страница помоћу ЈЕдиторПане у Јави. Не можемо је сматрати и веб прегледачем јер ЈЕдиторПане може да користи само за приказивање ХТМЛ садржаја и не може да приказује било који ЦСС или било који други стилски садржај, али још увек неким веб страницама са ХТМЛ садржајем може се приступити путем примера, као и ми отворите било коју ХТМЛ датотеку која је сачувана на локалном рачунару.

Овде, да бисмо направили прегледач веб страница, прво ћемо креирати окно за уређивање које ће приказати ХТМЛ садржај, а затим креирати ЈТектфиелд који ће се користити за попуњавање УРЛ адресе и ЈБуттон који се користи за претраживање УРЛ адресе на вебу. Додајте радњу тастеру и слушаоцу хипервеза које се могу користити за било коју хипервезу на ХТМЛ страници. На крају, додајте све компоненте на панел, а панел на скуп оквира и величину оквира, а веб страницу учините само за читање, тако да се не могу извршити никакве промене користећи сетЕдитабле метод као Фалсе.

Шифра:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import java.net.MalformedURLException;// Thrown when a URL doesn't contain http://
import java.net.URL;
import javax.swing.JButton;
import javax.swing.event.HyperlinkEvent;// Provides information on events triggered
import javax.swing.event.HyperlinkListener;// Monitors user activity with links
public class JEditorPaneExample extends JFrame implements HyperlinkListener, ActionListener (
public static void main(String() args) (
new JEditorPaneExample("http://www.google.com");
)
String defaultURL;
JPanel panel = new JPanel();
JTextField theURL = new JTextField(25);
JButton search = new JButton("Search");
JEditorPane htmlPage;
public JEditorPaneExample(String defaultURL) (
JFrame frame = new JFrame("Java Browser");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.defaultURL = defaultURL;
// If the user interacts with the JButton then actionPerformed method is called
search.addActionListener(this);
// Set the default text in the JTextField
theURL.setText(defaultURL);
// Add the text field to a panel
panel.add(theURL);
panel.add(search);
// Add the panel to the northern quadrant of a frame
frame.add(panel, BorderLayout.NORTH);
try (
htmlPage = new JEditorPane(defaultURL);
// If the user interacts with the JEditorPane actions are triggered.
htmlPage.addHyperlinkListener(this);
// Display webpage in read-only mode
htmlPage.setEditable(false);
JScrollPane scroller = new JScrollPane(htmlPage);
// Add Scroll pane and JEditorPane to the frame
frame.add(scroller, BorderLayout.CENTER);
)
// If something goes wrong with locating the html page this will handle that error
catch (IOException e) (
e.printStackTrace();
)
frame.setSize(1200, 800);
frame.setVisible(true);
)
public void hyperlinkUpdate(HyperlinkEvent e) (
// Checks if the link was clicked
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) (
try (
// Set the URL to be displayed
htmlPage.setPage(e.getURL());
// toExternalForm creates a String representation of the URL
theURL.setText(e.getURL().toExternalForm());
)
catch (IOException e1) (
e1.printStackTrace();
)
)
)
public void actionPerformed(ActionEvent e) (
String pageURL = "";
if (e.getSource() == search) (
pageURL = theURL.getText();
)
else (
pageURL = defaultURL;
// Opens an alert box when there is an error
JOptionPane.showMessageDialog(JEditorPaneExample.this,
"Please Enter a Web Address", "Error",
JOptionPane.ERROR_MESSAGE);
)
try (
// Sets the URL to be displayed
htmlPage.setPage(new URL(pageURL));
theURL.setText(pageURL);
) catch (MalformedURLException e2) (
JOptionPane.showMessageDialog(JEditorPaneExample.this,
"Please use http://", "Error",
JOptionPane.ERROR_MESSAGE);
) catch (IOException e1) (
e1.printStackTrace();
)
)
)

Излаз:

Закључак

ЈЕдиторПане класа може се користити за приказивање нормалног ХТМЛ-а, садржаја обогаћеног текста или обичног текста са мало стајлинга. Класа ЈЕдиторПане пружа предност над ЈТектПанес за пружање текстуалне компоненте, јер класа ЈЕдиторПане омогућава конструкторима да иницијализирају окно уређивача у облику УРЛ-а, док ЈТектПане нема такве извођаче.

Препоручени чланци

Ово је водич за ЈЕдиторПане. Овде разговарамо о конструкторима, методама и примерима у ЈЕдиторПане. Можете и да прођете кроз остале сродне чланке да бисте сазнали више -

  1. Питхон Едиторс
  2. ЈСцроллПане на Јави
  3. ЈТектФиелд на Јави
  4. Увод у ЈПанел на Јави
  5. ЈФраме у Јави

Категорија: