Domanda

Quali librerie/metodi che conosci possono eseguire alcune rappresentazioni HTML di base in Swing?Puoi commentare la tua esperienza?

È stato utile?

Soluzione

Molti dei controlli Swing (come JLabel) possono eseguire il rendering del contenuto HTML di base. JEditorPane può essere utilizzato per visualizzare pagine HTML.Tuttavia, questi controlli sono limitati a HTML3.2 supporto.

Per un'esperienza più ricca, utilizzerei il file Componenti di integrazione JDesktop.

JDIC fornisce alle applicazioni Java l'accesso a funzionalità e strutture fornite dal desktop nativo.Consiste in una raccolta di pacchetti e strumenti Java.JDIC supporta una varietà di funzionalità come incorporando il browser nativo, Avvio delle applicazioni desktop, creazione di icone del vassoio sul desktop, registrazione delle associazioni di tipi di file, creazione di pacchetti di installazione JNLP, ecc.

Altri suggerimenti

Una buona soluzione Java pura lo è JWebEngine.Rende molto bene l'HTML 4.

Non lo provo da un po', ma una rapida ricerca su Google mostra alcune possibilità:

Stai provando a farlo in un'applet o in un'applicazione?Se si tratta di un'applicazione (o di un'applet firmata) potresti potenzialmente creare un'istanza di IE o Firefox all'interno della tua applicazione. Webrenderer funge da wrapper Swing per questo.

Swing ha un componente integrato chiamato HTML di base.Non l'ho mai usato, ma penso che dovrebbe essere sufficiente per le cose di base.

Questo è stato storicamente un importante punto debole per Java, IMO.Esistono numerosi modi per visualizzare markup limitato, ma pochissimi offrono funzionalità HTML complete.Il componente JDIC menzionato in precedenza è un'opzione, tuttavia è considerato un componente "pesante" e pertanto non sempre si integra bene con le applicazioni Swing.

Spero, tuttavia, che il nuovo Webkit sia basato JWebPane Il progetto fornirà funzionalità più avanzate senza tutti i problemi che abbiamo dovuto affrontare in passato.E, naturalmente, ci sono anche diverse opzioni commerciali (IceBrowser va bene come esempio).

Ho appena usato SwingBox per visualizzare una pagina HTML abbastanza semplice, con buoni risultati.

Il progetto include una semplice applicazione demo che la confronta BrowserPane componente a JEditorPane, mostrando un risultato di gran lunga migliore su pagine complesse (ma ancora non paragonabile a un browser web moderno).

L'unico problema che ho riscontrato riguarda le barre di scorrimento indesiderate dal confezionamento JScrollPane.L'applicazione demo sembra avere lo stesso problema.Non so dire da dove provenga il problema.Sto usando la versione 1.0.

Ecco un frammento di codice per mostrare quanto sia semplice utilizzare il 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"));

Mi sono imbattuto Lobo browser web Java l'altro giorno.

Lobo viene sviluppato attivamente con l'obiettivo di supportare pienamente HTML 4, Javascript e CSS2.

Nessuna esperienza in merito, però, ma ho pensato che potesse fare al caso tuo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top