Вопрос

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

Это было полезно?

Решение

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

Для более насыщенного опыта я бы использовал Компоненты интеграции JDesktop.

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

Другие советы

Хорошим решением на чистом Java является JWebEngine ( веб -двигатель).Он очень хорошо отображает HTML 4.

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

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

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

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

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

Я только что использовал Качающийся ящик для отображения довольно простой 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"));

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

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

Правда, у меня нет опыта работы с этим, но я подумал, что, возможно, вам это подойдет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top