Domanda

Ho un'applet swing piccola (500kb) che visualizza un set molto semplice / limitato di piccole pagine HTML al suo interno con JEditorPane, tuttavia questo non sembra funzionare al 100% in modo fluido, alcuni clienti ottengono una pagina vuota visualizzata eventuali eccezioni Java. La pagina funziona bene dalla mia macchina. Ho bisogno di un modo più affidabile per mostrare la pagina HTML a tutti i nostri utenti.

Qualche idea se c'è una piccola classe + gratuita da usare invece di JEditorPane O c'è una soluzione semplice per renderlo più affidabile (non vuoto)

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())); 
È stato utile?

Soluzione

AFAIK, JEditorPane è un componente HTML molto primitivo: è confuso dai CSS e non sa nulla di JS.
Dubito che troverai un "piccolo + gratuito" classe facendo meglio, l'analisi e la visualizzazione HTML non è un affare semplice, ancor meno oggi.

Forse è meglio lasciare che i grandi nomi dell'azienda si occupino di questo compito, ad es. utilizzando componenti di Internet Explorer o Mozilla (a seconda di ciò che è disponibile, ecc.): JDIC: incorporamento di un browser Web in Java .

Altri suggerimenti

Anche se non l'ho mai usato prima, Lobo è un browser web open source per Java con supporto per HTML 4, Javascript e CSS 2.

Rispetto al JEditorPane che supporta solo HTML 3.2, sembra che Lobo possa essere una scommessa migliore per il caricamento di pagine Web moderne.

Di recente ho pubblicato diverse soluzioni di rendering HTML Java. Abbiamo deciso di JEditorPane perché abbiamo davvero bisogno di ridurre al minimo le dimensioni del nostro vaso ed è integrato in Swing. Tuttavia, la migliore biblioteca che ho incontrato è stata Flying Saucer . Non ha alcun supporto js ma è di qualità di rendering e api è di prim'ordine, ed è " gratuito " (LGLP), 100% Java e solo circa 1 MB (ancora troppo grande per noi, ma piccolo rispetto ad altre opzioni). Tuttavia, visualizza solo XHTML rigoroso (tutti i valori degli attributi devono essere citati, tutti i tag devono essere formati correttamente), ma ciò potrebbe essere OK a seconda delle tue esigenze (e HtmlCleaner o qualche altra utilità del genere può aiutare a tal fine).

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