Für die Anzeige von Text und Html gibt ees eine Handvoll von Klassen, zu denen ein mit der Zeit
gewachsenes Geflecht von sich in ihrer Aufgabe überlappenden Klassen vereinheitlicht wurde.

1) Basiskomponenten.

   Dise sollten nicht direkt anderswo verwendet werden.

   Im Grunde genommen sind diese Klassen nur Hüllen um die in ihnen vorliegende Swing-Klasse,
   damit diese passend initialisiert werden und damit bei der Verwendung nicht lauter Methoden
   zur Verfügung stehen, die keine Rolle spielen.

   1.1) TextualComponent

        Diese Komponente ist ein Interface, das von den beiden folgenden implementiert wird,
        um sicher zu stellen, dass ähneliche Methoden in beiden gleich heißen.


   1.2) TextComponent

        Diese Komponente stellt den Text intern auf einer JTextArea dar. Dies wird benötigt,
        da die in der HtmlComponent verwendete JEditorPane nicht alle Methoden bietet, wie
        setLineWrap(), welche wiederum von einigen meiner Programme verlangt werden.

   1.3) HtmlComponent

        Diese Komponente stellt HTML in einer JEditorPane da, die mit dem Content-Typ
        "text/html" initialisiert wurde.


2) Panel mit Scrollbalken

   Diese Klassen können sehr wohl direkt verwendet werden, wenn sie als Teil einer besteheneden
   grafischen Obverfläche in diese eingebaut werden sollen. Braucht man einen Dialog, sollten nicht
   diese Klassen verwendet werden, sondern jene unter 3) erklärten.

   2.1) TextPanel

        Diese Komponente stellt eine TextComponent samt Scrollbar in einem JPanel dar.

        Wenn man Text anzeigen möchte und keinen fertigen Dialog, dann sollte man diese Komponente
        verwenden!

   2.2) HtmlPanel

        Diese Komponente stellt eine HtmlComponent samt Scrollbar in einem JPanel dar.

        Sie sollte außerhalb dieses Geflechts NICHT verwendet werden!

   2.3) HtmlCardPanel

        Diese Komponente enthält zwei umschaltbare Karten, die jeweils einen TextPanel und einen
        TextPanel enthält.

   2.4) HtmlAndSourceCodePanel

        Diese Komponente stellt eine HtmlCardPanel dar und beitet Schalter zum Umschalten und
        ähnliches.

        Wenn man HTML anzeigen möchte und keinen fertigen Dialog, dann sollte man diese Komponente
        verwenden!


3) Dialoge zum Anzeigen

   3.1) Text

       3.1.a) TextViewer

              Hierbei handelt es sich um eine Dialog, welcher unveränderlichen Text anzeigt.

              Intern wird dazu das TextPanel verwendet.

       3.1.b) TextEditor

              Hierbei handelt es sich um eine Dialog, welcher Text editiert und das ergebnis bei
              Druck auf OK weiter gibt.

              Diese Klasse ist eine Erweiterung vom TextViewer.

       3.1.c) WorkOnTextEditor

              Hierbei handelt es sich um eine Dialog, welcher Text editiert und das Ergebnis
              hinterher wieder anzeigt.

              Diese Klasse ist eine Erweiterung vom TextEditor.

   3.2) HTML

       3.2.a) HtmlDialog

              Dieser Dialog zeigt HTML an.

              Er verwendet dazu den HtmlAndSourceCodePanel.

       3.2.b) HtmlFrame

              Analog zum HtmlDialog, nur nicht modal und daher auch mit Buttons im Fensterrahmen
              zum Maximieren und Minimieren.


TODO:

- HighlightingEditor
- HighlightingViewer

Eventuell lässt man die auch fein so... sehr komplex.
