Komplexe HTML-Seiten mit Swing Browsen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo erstmal,
Dank google bin ich auf eure Seite gestoßen, denn ich habe ein ganz böses Problem.

Ich Arbeite in der Uni an einem sehr umfangreichen Softwareprojekt. Nun ist es meine Aufgabe das Hilfesystem des Programms auf den neuesten Stand zu bringen. Das Programm ist ähnlich wie Eclipse aufgebaut und kann mit verschiedenen Plugins erweitert werden. Jedes Plugin enthält einen Ordner mit Html-Hilfedateien, welche bei Programm start von Lucene indexiert werden. Hat der Nutzer eine Frage, gibt er im entsprechenden Fenster ein Schlüsselwort ein, klickt er auf die Treffer wird die entsprechende Seite in ein JEditorPane geladen.

Lange Rede, kurzer Sinn: Ich will html-Seiten anzeigen die über den üblichen Krimskrams hinaus gehen. Der Grund ist einfach, dass die HTML-Seiten meist Links zu weiterführenden Infos enthalten und spätestens dann nicht mehr angezeigt werden können bzw. nur schlecht.

So ist bei der JEditorPane meist die Schrift winzig klein und Bilder werden nur in Ausnahmefällen geladen.



Was kann ich also machen? Soll ich alle Links in den Hilfedateien entfernen? Das wäre schlecht, da es sich oft um sehr komplexe Betrachtungen handelt (Fuzzy Logik). Kann man der EditorPane evtl. besseres HTML beibringen und das auch noch mit einem erträglichen Maß an Arbeitszeit? Gibt es irgend welche Erweiterungen?

Ich habe bereits von JDIC gehört. Leider ist das nichts für mich, da es mir AWT Komponenten liefert (oder habe ich da was falsch vestanden?) und AWT sich mit Swing ja ein wenig "beißt".

Vielleicht hilft auch ein Blick auf unsere - lange nicht mehr überarbeitete - Webseite.

fuzzyide.htw-dresden.de

Über das Englisch darf gern gelacht werden ;)
 

Illuvatar

Top Contributor
Naja mit etwas "Tricksen" solltest du auch eine AWT/Swing-Vermischung hinbekommen. Aber was für "Krimskrams" willst du denn in den HTML-Seiten darstellen? Um Hyperlinks zu realisieren musst du nur selber einen HyperlinkListener implementieren.
Vielleicht hilft dir auch diese kleine Komponente von mir weiter, so zeige ich meine Hilfedateien normalerweise an:
Code:
package de.illu.swing;

import java.awt.*;
import java.io.InputStream;
import java.util.Stack;

import javax.swing.JComponent;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;

import de.illu.util.Util;

/**
 * Komponente zeigt eine (als Resource eingebettete) HTML-Datei an. Über Links
 * können andere Dateien geladen werden. ("javascript:history.back();") wird
 * erkannt.
 */
public class HelpViewer extends JComponent
{
    private static final long serialVersionUID = 1128903065873289294L;
    private Stack<String> pages = new Stack<String>();
    private JTextPane mainPane;
    private JScrollPane scrollPane;
    private String actContent;

    public HelpViewer(String mainPage)
    {
        setLayout(new GridLayout(1, 1));

        mainPane = new JTextPane();
        mainPane.setContentType("text/html");
        mainPane.setEditable(false);
        scrollPane = new JScrollPane(mainPane);
        add(scrollPane);

        loadContent(mainPage);
        actContent = mainPage;

        mainPane.addHyperlinkListener(new HyperlinkListener() {

            public void hyperlinkUpdate(HyperlinkEvent e)
            {
                if (e.getEventType() != HyperlinkEvent.EventType.ACTIVATED) {
                    return;
                }
                if (e.getDescription().equals("javascript:history.back();")) {
                    
                    if (!pages.empty()){
                        String load = pages.pop();
                        loadContent(load);
                        actContent = load;
                    }
                } else if (e.getDescription().startsWith("http://www")) {
                    try {
                        Desktop.getDesktop().browse(e.getURL().toURI());
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                } else if (e.getDescription().startsWith("mailto:")) {
                    try {
                        Desktop.getDesktop().mail(e.getURL().toURI());
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                } else {
                    loadContent(e.getDescription());
                    pages.push(actContent);
                    actContent = e.getDescription();
                }
            }

        });

        setPreferredSize(new Dimension(250, 1000));
    }

    private void loadContent(String resource)
    {
        if (resource == null)
            return;
        InputStream stream = ClassLoader.getSystemResourceAsStream(resource);
        mainPane.setText(Util.readStream(stream));
        mainPane.setCaretPosition(0);
    }
}
 
G

Guest

Gast
Vielen Dank für die verschiedenen Antworten. Ich werde das morgen in der Uni mal durch gehen.

Mit Krimskrams meinte ich zum Beispiel rein Tabellen gestützte Layouts, wie sie beispielsweise vom CMS Soap generiert werden. Eben jenes wird bei unserer Seite eigesetz und eben jene Seite gilt für mich als Referenzseite. Weiterhin sollten CSS funktionieren. Java Scripte und somit Ajax ist nicht unbedingt nötig.
 

Harald-K.

Neues Mitglied
Ich habe mich jetzt mal angemeldet um die Zuordnung zu erleichtern.

@Illuvatar: Ich hätte dein Quelltext gern aus probiert. Aber woher bekomme ich die de.illu.swing und de.illu.util.Util ?

@zilti: Weißt du unter welcher Lizenz der Lobobrowser steht? Ich kann auf der Webseite dazu nichts finden.

Der Lobobrowser scheint wirklich das richtige zu sein. Ich werde ihn mal testen. Vielen Dank für die Hilfe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Komplexe Eingabenmasken in FXML definieren? AWT, Swing, JavaFX & SWT 17
TheJavaKid JTextPane: komplexe Formatierung (links) AWT, Swing, JavaFX & SWT 2
B Swing Komplexe GUI AWT, Swing, JavaFX & SWT 6
T Komplexe GUI Entwicklung AWT, Swing, JavaFX & SWT 6
izoards HTML Editor AWT, Swing, JavaFX & SWT 3
H setToolTipText ignoriert HTML-Formatierung des anzuzeigenden Strings AWT, Swing, JavaFX & SWT 4
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
C HTML Editor Eingabemaske kafenio Ersatz AWT, Swing, JavaFX & SWT 7
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
T JTextPane ignoriert HTML Zeilenumbruch <br> tag wegen eigenem HTMLEditorKit AWT, Swing, JavaFX & SWT 5
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
K Html Editor AWT, Swing, JavaFX & SWT 3
B Swing HTML in JLabels AWT, Swing, JavaFX & SWT 6
S jLabel HTML Formatierung AWT, Swing, JavaFX & SWT 2
B JavaFX Java FX Html Template AWT, Swing, JavaFX & SWT 0
F JavaFX JavaFX HTMLEditor-Eingabe in Textarea als HTML anzeigen AWT, Swing, JavaFX & SWT 2
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
R Swing JTable : Header der Spalten ergänzen mit caption (wie bei html-table) AWT, Swing, JavaFX & SWT 2
I LookAndFeel HTML Auflösung - Online Editor programmieren AWT, Swing, JavaFX & SWT 2
T HTML mit Java AWT, Swing, JavaFX & SWT 1
U Label zeigt nicht überall HTML Zeichen AWT, Swing, JavaFX & SWT 3
N JLabel HTML mit custom Font AWT, Swing, JavaFX & SWT 0
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
F Submit eines HTML-Formulars in Vaadin AWT, Swing, JavaFX & SWT 3
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J JApplet, HTML und access denied exitVM.0 AWT, Swing, JavaFX & SWT 3
L Swing JToogleButton Vordergrundfarbe bei HTML String AWT, Swing, JavaFX & SWT 4
H Swing JApplet - HTML - ClassNotFoundException AWT, Swing, JavaFX & SWT 7
G Swing HTML Version AWT, Swing, JavaFX & SWT 11
S HTML in Java einbinden AWT, Swing, JavaFX & SWT 4
B JEditorPane lädt keine Schriftfarbe in HTML AWT, Swing, JavaFX & SWT 2
J JEditorPane mit HTML füllen AWT, Swing, JavaFX & SWT 2
N Swing JTree TreeCellRenderer mit html und automatischen Zeilenumbruch AWT, Swing, JavaFX & SWT 8
N Swing KomponentenHöhe an html-Inhalt anpassen AWT, Swing, JavaFX & SWT 4
F Applet JApplet per html einbinden - Main class kann nicht gefunden werden AWT, Swing, JavaFX & SWT 15
C html browser in Application nutzen AWT, Swing, JavaFX & SWT 10
S SWT Anzeigen einer lokalen HTML-Seite im Browser Widget über RAP nicht möglich AWT, Swing, JavaFX & SWT 3
S HTML Syntaxhighlighting AWT, Swing, JavaFX & SWT 7
S SWT HTML-WYSIWUG-Editor AWT, Swing, JavaFX & SWT 3
R Swing Renderproblem bei HTML in einer JTextPane AWT, Swing, JavaFX & SWT 12
N Swing JTextPane zur Anzeige von HTML AWT, Swing, JavaFX & SWT 2
N Applet JButton soll html Datei aus einem Ordner öffnen AWT, Swing, JavaFX & SWT 2
H JScrollPane - JEditorPane und HTML-Tabelle AWT, Swing, JavaFX & SWT 2
H Swing JEditorPane und HTML AWT, Swing, JavaFX & SWT 3
D System.out.println() gibt html-Tags mit aus AWT, Swing, JavaFX & SWT 2
P Swing HTML-Renderer AWT, Swing, JavaFX & SWT 15
G Swing JCheckBox, setEnabled(false) und HTML Text Problem AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Html in drawString() AWT, Swing, JavaFX & SWT 2
L Applet In HTML einbinden klappt einfach nicht AWT, Swing, JavaFX & SWT 5
X Frei nutzbarer HTML Editor AWT, Swing, JavaFX & SWT 13
B WYSIWYG-HTML-Editor / Validator für JAVA AWT, Swing, JavaFX & SWT 2
N JCombobox wie in HTML AWT, Swing, JavaFX & SWT 6
H Swing HTML in einem JEditorPane zeilenweise hinzufügen ohne Inhalt jedes Mal neu zu laden AWT, Swing, JavaFX & SWT 4
G Swing JEdtitorPane und HTML Image Seite AWT, Swing, JavaFX & SWT 2
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
P Swing html mit bilder drin AWT, Swing, JavaFX & SWT 12
destroflyer Wort im JLabel verlinken (per HTML) AWT, Swing, JavaFX & SWT 3
R Swing JTextComponent und HTML AWT, Swing, JavaFX & SWT 7
D Nodes eines statischen JTrees sollen auf Anker (Textmarken) in einer HTML-Datei zeigen AWT, Swing, JavaFX & SWT 8
S Swing HTML-Text in JEditorPane einfärben AWT, Swing, JavaFX & SWT 5
D Darstellung in Swing wie HTML? AWT, Swing, JavaFX & SWT 2
H Mit JLabel HTML - formatierten Text anzeigen AWT, Swing, JavaFX & SWT 14
M Swing Kein update bei simulierten HTML-Link AWT, Swing, JavaFX & SWT 4
B Grafiken in JLabel mittels html AWT, Swing, JavaFX & SWT 5
E Swing JTextPane Inhalt(Text und Bilder) als HTML text bekommen AWT, Swing, JavaFX & SWT 3
B JEditorPane - Text und Graphik in HTML speichern AWT, Swing, JavaFX & SWT 4
K Alternative zu Applet mit HTML-Einbindung AWT, Swing, JavaFX & SWT 11
D Swing JEditorPane mit HTML aber ohne Bilder AWT, Swing, JavaFX & SWT 3
S Swing Text -> HTML: Caret-Koordinaten verschoben AWT, Swing, JavaFX & SWT 6
S JEditorPane soll HTML und dann Text anzeigen..? AWT, Swing, JavaFX & SWT 5
T HTML und JEditorPane AWT, Swing, JavaFX & SWT 6
J JList & HTML AWT, Swing, JavaFX & SWT 2
T HTML Seite neu laden mittels Applet AWT, Swing, JavaFX & SWT 2
N Performanceprobleme mit JLabel und HTML content AWT, Swing, JavaFX & SWT 5
A Oberfläche wir mit html-Frames aufbauen AWT, Swing, JavaFX & SWT 11
C JTextPane HTML und eigene Tags AWT, Swing, JavaFX & SWT 10
W HTML-Text mit relativer URL in JEditorPane einlesen AWT, Swing, JavaFX & SWT 10
C Suche fertigen HTML editor AWT, Swing, JavaFX & SWT 2
B HTML in Swing Components (JLabel) AWT, Swing, JavaFX & SWT 7
M JEditorPane lädt HTML ohne Bilder AWT, Swing, JavaFX & SWT 2
M JEditorPane lädt HTML ohne Bilder AWT, Swing, JavaFX & SWT 2
G Hilfe beim Erstellen eines eigenen Html-Editors! AWT, Swing, JavaFX & SWT 4
S drawString für HTML-Text? AWT, Swing, JavaFX & SWT 7
G Frage zu Labels mit html AWT, Swing, JavaFX & SWT 3
P HTML darstellen mit Java AWT, Swing, JavaFX & SWT 4
GilbertGrape Fehler bei HTML in JTextPane AWT, Swing, JavaFX & SWT 2
ARadauer swing html wysiwyg componente AWT, Swing, JavaFX & SWT 6
V "Anker" wie in HTML für JScrollPane? AWT, Swing, JavaFX & SWT 2
M html im Titel von JFrame AWT, Swing, JavaFX & SWT 9
M html aus einem Stream Laden und Anzeigen AWT, Swing, JavaFX & SWT 4
T Öffnen von SWT-Dialogboxen durch HTML-Link in HTML-Code AWT, Swing, JavaFX & SWT 4
B JTextPane und Image importieren in HTML String. AWT, Swing, JavaFX & SWT 2
J Html in JTextPane anzeigen? AWT, Swing, JavaFX & SWT 2
V Swing to HTML? AWT, Swing, JavaFX & SWT 4
A HTML-Datei öffnen AWT, Swing, JavaFX & SWT 3
A Noch mal Zusammenarbeit Java und HTML AWT, Swing, JavaFX & SWT 4
A Java und HTML AWT, Swing, JavaFX & SWT 8
R HTML Hintergrund für Swing - Componenten AWT, Swing, JavaFX & SWT 2
G Problem mit Anzeige von HTML AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben