Pergunta

Quais bibliotecas/métodos que você conhece podem fazer alguma representação HTML básica no Swing?Você pode comentar sobre sua experiência?

Foi útil?

Solução

Muitos dos controles Swing (como JLabel) podem renderizar conteúdo HTML básico. JEditorPane pode ser usado para exibir páginas HTML.No entanto, estes controlos estão limitados a HTML3.2 apoiar.

Para uma experiência mais rica, eu usaria o Componentes de integração JDesktop.

O JDIC fornece aplicativos Java com acesso a funcionalidades e instalações fornecidas pelo desktop nativo.Consiste em uma coleção de pacotes e ferramentas Java.JDIC suporta uma variedade de recursos, como incorporando o navegador nativo, iniciar as aplicações de ambiente de trabalho, criando ícones de bandeja na área de trabalho, registrando associações de tipo de arquivo, criando pacotes de instalação JNLP, etc.

Outras dicas

Uma boa solução Java pura é JWebEngine.Ele renderiza HTML 4 muito bem.

Faz algum tempo que não tento isso, mas uma rápida pesquisa no Google mostra algumas possibilidades:

Você está tentando fazer isso em um miniaplicativo ou aplicativo?Se for um aplicativo (ou miniaplicativo assinado), você poderá instanciar o IE ou o Firefox dentro do seu aplicativo. Webrenderizador atua como um wrapper Swing para isso.

Swing tem um componente integrado chamado HTML básico.Nunca usei, mas acho que deve ser suficiente para o básico.

Historicamente, este tem sido um grande ponto fraco para Java, IMO.Existem inúmeras maneiras de exibir marcações limitadas, mas poucas oferecem recursos HTML completos.O componente JDIC mencionado anteriormente é uma opção, porém é considerado um componente "pesado" e, portanto, nem sempre se integra bem com aplicações Swing.

Estou esperançoso, no entanto, que o novo Webkit baseado JWebPane O projeto fornecerá recursos mais avançados sem todos os problemas com os quais tivemos que lidar no passado.E, claro, também existem diversas opções comerciais (IceBrowser é muito bom como exemplo).

acabei de usar Caixa de balanço para exibir uma página HTML bastante simples, com bons resultados.

O projeto inclui um aplicativo de demonstração simples que compara seu BrowserPane componente para JEditorPane, mostrando um resultado muito melhor em páginas complexas (mas ainda não comparável a um navegador moderno).

O único problema que tive foi com barras de rolagem indesejadas no empacotamento JScrollPane.O aplicativo de demonstração parece ter o mesmo problema.Não sei dizer de onde se origina o problema.Estou usando a versão 1.0.

Aqui está um fragmento de código para mostrar como é simples usar o componente:

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"));

Deparar Lobo navegador java outro dia.

Lobo está sendo desenvolvido ativamente com o objetivo de oferecer suporte total a HTML 4, Javascript e CSS2.

Não tenho experiência com isso, mas pensei que pode ser adequado para você.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top