Visualizando HTML dentro Applet sem usar JEditorPane
Pergunta
Eu tenho um pequeno (500kb) balanço applet que exibe muito simples / conjunto limitado de página pequena HTML (s) no seu interior com JEditorPane, no entanto, isso não parece trabalho 100% fluentemente, alguns clientes obter uma página em branco exibida sem quaisquer exceções Java. A página funciona bem da minha máquina. Eu preciso de uma maneira mais confiável para mostrar página HTML para todos os nossos usuários.
Todas as idéias se houver uma pequena + gratuito de classe para usar em vez de JEditorPane Ou há uma solução fácil para torná-lo mais confiável (não branco)
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()));
Solução
AFAIK, JEditorPane é um componente HTML muito primitivo: é confuso com CSS e não sabe nada sobre JS
.
Eu duvido que você vai encontrar um "pequeno + livre" class fazer melhor, HTML análise e exibição não é um negócio simples, ainda menos hoje.
Talvez seja melhor deixar que os grandes nomes no negócio para cuidar dessa tarefa, ou seja. usando componentes do Internet Explorer ou Mozilla (dependendo do que está disponível, etc.): JDIC:. Incorporando um navegador da web em Java
Outras dicas
Embora eu não tenha usado antes, Lobo é um navegador web de código aberto para Java com suporte para HTML 4, Javascript e CSS 2.
Em comparação com a JEditorPane
que só tem o suporte de HTML 3.2, parece que Lobo pode ser uma aposta melhor para carregar modernas páginas web.
Eu recentemente POC-ed várias soluções de processamento java HTML. Decidimos em JEditorPane porque nós realmente precisamos para minimizar o tamanho do nosso frasco e é construído em Swing. No entanto, a melhor biblioteca me deparei foi Flying Saucer . Ele não tem nenhum js apoiar mas de qualidade de renderização e api é top de linha, e é "livre" (LGLP), 100% Java, e apenas cerca de 1 MB (ainda muito grande para nós, mas pequeno em comparação com outras opções). No entanto, só torna XHTML estrito (todos os valores de atributos têm de ser citado, todas as tags adequadamente formados), mas que pode ser OK dependendo de suas necessidades (e HtmlCleaner ou algum outro tal utilidade pode ajudar para esse fim).