Intereting Posts
Как предотвратить повторное заполнение формы при обновлении страницы (F5 / CTRL + R) использование ионного диапазона для установки месяцев и лет Стол слишком длинный для фонового изображения при разных разрешениях Карту Google как фиксированный фон, например, на foursquare Uncaught TypeError: Невозможно прочитать значение «длина длины» неопределенного – не удается исправить / отладить это Twitter Bootstrap navbar float right перемещает div на новую строку Вертикально выравнивать входы друг с другом Как я могу получить дочерний элемент элемента с более низким индексом z перед дочерним элементом другого элемента с более высоким z-индексом? Скрытие тегов заголовков при наведении Не удается удалить границы из таблиц в Word export С CORS, почему серверы заявляют, какие клиенты могут доверять ему, а не клиенты, объявляющие, на каких серверах они доверяют? CSS: четыре divs, третий должен взять остальную часть пространства jQuery – принудительное действие click для генерируемого iframe, чтобы оно автоматически запускалось Как я могу выделить конкретные строки и столбцы HTML с помощью CSS или HTML? Поведение ввода ключа в Contenteditable Div

Предварительный просмотр HTML в Java

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

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

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

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

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

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

  • Java Sketchbook: перестрелка HTML Renderer, часть 1
  • Cobra: Java HTML Renderer & Parser

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

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

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

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

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

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

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

Здесь fragment кода, чтобы показать, насколько просто использовать компонент:

 BrowserPane browserPane = new BrowserPane(); JScrollPane scrollPane = new JScrollPane(browserPane); someContainer.add(scrollPane); browserPane.setText("Some HTML here"); // or... browserPane.setPage(new URL("http://en.wikipedia.org")); 

На днях появился через браузер Lobo java.

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

Однако никакого опыта в этом нет, но подумал, что это может подставить вам счет.