Просмотр HTML внутри апплета без использования JEditorPane - PullRequest
1 голос
/ 05 января 2009

У меня есть небольшой (500 КБ) свинг-апплет, который отображает очень простой / ограниченный набор небольших HTML-страниц внутри него с помощью JEditorPane, однако, похоже, это не работает на 100% свободно, некоторые клиенты получают пустую страницу, отображаемую любые исключения Java. Страница работает нормально с моей машины. Мне нужен более надежный способ показать HTML-страницу всем нашим пользователям.

Любые идеи, если есть небольшой + бесплатный класс, чтобы использовать вместо JEditorPane ИЛИ есть ли простое решение, чтобы сделать его более надежным (не пустым)

private JEditorPane m_editorPane = new JTextPane();


    m_editorPane.setEditable( false);

    m_editorPane.setBackground(new Color(239  ,255, 215));
    m_editorPane.setBounds(30,42,520,478 );
    m_editorPane.setDoubleBuffered(true);
    m_editorPane.setBorder(null);

    m_editorPane.registerEditorKitForContentType("text/html", "com.xxxxx.SynchronousHTMLEditorKit");


m_editorPane.setPage(ResourceLoader.getURLforDataFile(param.trim())); 

Ответы [ 3 ]

2 голосов
/ 05 января 2009

Хотя я раньше не использовал его, Lobo - это веб-браузер с открытым исходным кодом для Java с поддержкой HTML 4, Javascript и CSS 2.

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

1 голос
/ 05 января 2009

AFAIK, JEditorPane - очень примитивный HTML-компонент: он смущен CSS и ничего не знает о JS.
Я сомневаюсь, что класс «маленький + бесплатный» будет лучше, парсинг и отображение HTML - дело не простое, а тем более сегодня.

Возможно, лучше поручить этим задачам громкие имена в бизнесе, т.е. с использованием компонентов Internet Explorer или Mozilla (в зависимости от того, что доступно и т. д.): JDIC: встраивание веб-браузера в Java .

0 голосов
/ 02 апреля 2010

Недавно я разобрал несколько java-решений для рендеринга HTML. Мы выбрали JEditorPane, потому что нам действительно нужно минимизировать размер нашего фляги, и она встроена в Swing. Однако лучшая библиотека, с которой я столкнулся, была Летающая тарелка . У него нет поддержки js, но качество рендеринга и api на высшем уровне, и это «бесплатно» (LGLP), 100% Java и всего около 1 Мб (все еще слишком много для нас, но мало по сравнению с другими вариантами). Однако он отображает только строгий XHTML (все значения атрибутов должны быть заключены в кавычки, все теги должны быть правильно сформированы), но это может быть приемлемо в зависимости от ваших потребностей (и HtmlCleaner или какая-либо другая подобная утилита может помочь в этом направлении ).

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