2009-01-05 7 views
1

J'ai une petite applet de swing (500kb) qui affiche un ensemble très simple/limité de petites pages HTML à l'intérieur avec JEditorPane, mais cela ne semble pas fonctionner 100% couramment, certains les clients obtiennent une page vierge affichée sans aucune exception java. La page fonctionne correctement depuis ma machine. J'ai besoin d'un moyen plus fiable pour montrer la page HTML à tous nos utilisateurs.Affichage HTML à l'intérieur de l'applet sans utiliser JEditorPane

Toutes les idées s'il y a un petit + libre classe à utiliser au lieu de JEditorPane ou est-il une solution facile pour le rendre plus fiable (non vide)

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

Répondre

1

AFAIK, JEditorPane est un HTML très primitif composant: il est confondu par CSS et ne sait rien à propos de JS.
Je doute que vous trouviez une classe "small + free" qui fasse mieux, l'analyse et l'affichage HTML ne sont pas une affaire simple, encore moins aujourd'hui.

Peut-être qu'il est préférable de laisser les grands noms de l'entreprise pour prendre soin de cette tâche, à savoir. en utilisant des composants Internet Explorer ou Mozilla (en fonction de ce qui est disponible, etc.): JDIC: Embedding a Web browser in Java.

+0

Eh bien, j'affiche très basique html (texte et 1-2 images), et son important pour moi ce composant est un petit, fonctionne avec tous les navigateurs et les systèmes d'exploitation. J'ai donc peur que cette option d'intégration ne soit pas acceptable. – Tom

+0

J'ai raté le fait que vous affichiez vos propres pages. Je regarderais pourquoi cela fonctionne sur certaines machines et pas sur d'autres. Ont-ils le même système? Le même JRE? – PhiLho

+0

ils ont la norme Win + JRE 1.5 mais en effet un firefall assez strict, pourrait-il être une sorte de pare-feu/sécurité limite .. cela aiderait-il à signer l'applet ..? – Tom

2

Bien que je ne l'ai pas utilisé avant, Lobo est un navigateur web open source pour Java avec prise en charge HTML 4, Javascript et CSS 2.

Par rapport à la JEditorPane qui ne prend en charge de HTML 3.2, il semble que Lobo peut être un meilleur pari pour le chargement de pages web modernes.

+0

merci, mais je n'ai pas besoin de HTML moderne 4, juste de base HTML et moyen facile d'afficher quelques pages. – Tom

0

J'ai récemment édité plusieurs solutions de rendu HTML Java. Nous avons décidé de JEditorPane parce que nous avons vraiment besoin de minimiser la taille de notre pot et il est intégré dans Swing. Cependant, la meilleure bibliothèque que j'ai trouvée était Flying Saucer. Il n'a pas de support js mais c'est du rendu de qualité et api est top, et c'est "libre" (LGLP), 100% Java, et seulement environ 1mb (encore trop gros pour nous, mais petit comparé aux autres options). Cependant, il rend seulement le XHTML strict (toutes les valeurs d'attribut doivent être citées, toutes les étiquettes correctement formées), mais cela peut être OK en fonction de vos besoins (et HtmlCleaner ou un autre utilitaire de ce type peut aider à cette fin).

Questions connexes