2010-11-11 8 views
9

Ich erstelle einen Webbrowser in Java. In diesem Browser verwende ich JEditorPane für Browser Window. Ich verwende "setPage (String url)" Methode um die Seite anzuzeigen. Der Browser kann die Seite angezeigt werden, aber es gibt einige Probleme, die wie erwähnt ::jEditorPane als Webbrowser

  1. Der Browser ist nicht das Java-Skript anzuzeigen.
  2. Es zeigt das Applet nicht an.
  3. Brows Daten zeigt nicht in der richtigen Weise (wie ein Browser (Show in Bild)).

Mein Code ist-

JEditorPane editorPane = new JEditorPane(); 
String url="http://google.co.in";  
editorPane.setEditable(false); 
    try { 
     editorPane.setPage(url); 
    } catch (IOException e) { 
     System.err.println("Attempted to read a bad URL: " + url); 
    } 
} 
+0

Ich verstehe nicht wirklich das dritte Problem, das Sie haben. Vielleicht könnten Sie es anders formulieren. – lucasrizoli

+0

@lucasrizoli: Ich glaube, er meinte, dass das Rendering alles andere als perfekt ist. –

Antwort

7

JEditorPane hat begrenzte HTML- und CSS-Unterstützung. Es unterstützt kein JavaScript oder Applets. Es ist nicht als Webbrowser gedacht. Sun versprach ein JWebPane, das näher an einem Browser wäre, aber es wurde nie veröffentlicht.

Wenn Sie wirklich bereit sind, einen Browser in Java zu implementieren, treten Sie einem Open-Source-Java-Browser-Projekt wie Lobo browser bei. Auf diese Weise können Sie Ihr Wissen in die richtige Richtung anwenden. Es hat keinen Sinn, es von Grund auf neu zu machen.

2

Die JEditorPane kann nur sehr grundlegende HTML machen. (Auch seit SE6 versteht es nur HTML 3.2 - ein Standard von 1997!) JEditorPane kann keine Applets oder Flash einbetten, noch kann es JavaScript interpretieren.

Tatsächlich wurde JEditorPane geschrieben, um ein Widget zu sein, in dem Rich Text (dh Text verschiedener Größen mit einfacher Formatierung wie Fett- und Kursivschrift) bearbeitet werden kann, nicht etwas, um HTML, CSS usw. zu rendern.

Sie können stattdessen JDIC's embeddable browser ausprobieren.

1

Haben Sie SWT versucht? Es verwendet den Standardbrowser des Systems oder ich glaube, dass Sie Mozilla oder den Browser von Apple spezifizieren können (ich bin kein Apple-Fan und kann den Namen gerade nicht denken). Es ist nicht von Grund auf neu zu programmieren und sie müssen einen anderen Browser installiert haben, aber in Java finde ich das die beste Option. Sie können verschiedene Bibliotheken finden, die sowohl Swing als auch SWT mit einer einfachen Google-Suche enthalten, so dass Sie nicht zwischen den beiden wählen müssen.

1

JavaFX scheint damit umzugehen. Wurde das versucht?

+0

Der aktuelle Kompatibilitätsstatus des Browsers in JavaFX ist vergleichbar mit allen anderen Browsern. – Panayotis

Verwandte Themen