Предварительный просмотр HTML в Java - PullRequest
4 голосов
/ 25 августа 2008

Какие библиотеки / методы, о которых вы знаете, могут выполнять некоторые базовые представления HTML в Swing? Вы можете прокомментировать свой опыт?

Ответы [ 7 ]

2 голосов
/ 11 февраля 2010

Хорошим решением на чистом Java является JWebEngine . Это делает HTML 4 очень хорошим.

1 голос
/ 17 июня 2014

Я только что использовал SwingBox для отображения довольно простой HTML-страницы с хорошими результатами.

Проект включает в себя простое демонстрационное приложение, которое сравнивает его BrowserPane компонент с JEditorPane, показывая гораздо лучший результат на сложных страницах (но все еще не сопоставимый с современным веб-браузером).

Единственная проблема, с которой я столкнулся, связана с нежелательными полосами прокрутки от переноса JScrollPane. Демонстрационное приложение, похоже, имеет ту же проблему. Я не могу сказать, откуда возникла проблема. Я использую версию 1.0.

Вот фрагмент кода, демонстрирующий простоту использования компонента:

BrowserPane browserPane = new BrowserPane();
JScrollPane scrollPane = new JScrollPane(browserPane);
someContainer.add(scrollPane);

browserPane.setText("<html><b>Some HTML here</b></html>");
// or...
browserPane.setPage(new URL("http://en.wikipedia.org"));
1 голос
/ 26 августа 2008

Это исторически было основным слабым местом для Java, IMO. Существует множество способов отображения ограниченной разметки, но очень немногие предлагают полнофункциональные возможности HTML. Ранее упомянутый компонент JDIC является одним из вариантов, однако он считается «тяжеловесным» компонентом и поэтому не всегда хорошо интегрируется с приложениями Swing.

Однако я надеюсь, что новый проект JWebPane на основе Webkit обеспечит более продвинутые возможности без всех проблем, с которыми нам приходилось сталкиваться в прошлом. И, конечно, есть несколько коммерческих вариантов ( IceBrowser довольно хороший пример).

1 голос
/ 25 августа 2008

Многие элементы управления Swing (например, JLabel) могут отображать базовый HTML-контент. JEditorPane может использоваться для отображения HTML-страниц. Однако эти элементы управления ограничены поддержкой HTML 3.2 .

Для более богатого опыта я бы использовал JDesktop Integration Components .

JDIC предоставляет приложениям Java доступ к функциональности и услуги, предоставляемые родным рабочий стол. Состоит из коллекции пакетов Java и инструментов. JDIC поддерживает множество функций, таких как встраивание родного браузера , запуск настольных приложений, создание значков в трее на рабочем столе, регистрация ассоциаций типов файлов, создание пакетов установки JNLP и т. д.

1 голос
/ 25 августа 2008

Swing имеет встроенный компонент под названием BasicHTML . Я никогда не использовал это, но я думаю, что этого должно быть достаточно для базовых вещей.

1 голос
/ 25 августа 2008

Я давно не пробовал, но быстрый поиск в Google показывает некоторые возможности:

Вы пытаетесь сделать это в апплете или в приложении? Если это приложение (или подписанный апплет), вы можете создать экземпляр IE или Firefox в своем приложении. Webrenderer служит для этого оболочкой Swing.

0 голосов
/ 17 июня 2009

Наткнулся на Lobo Java-браузер на днях.

Lobo активно развивается с целью полной поддержки HTML 4, Javascript и CSS2.

Впрочем, опыта у него нет, но я подумал, что он может вам подойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...