Frage

Ich schreibe eine Java Textcomponent denen die zugrunde liegende Dokument eine gewisse Struktur hat. Es ist sehr kurz, im Grunde einer Zeile. Ich muss in der Lage, die Antwort auf Einfügen oder Löschen von Zeichen in einigen Teilen des Dokuments außer Kraft zu setzen.

Mein erster Ansatz war javax.swing.text.Document zu implementieren, aber das scheint viele zugehörigen Klassen (Element, EditorKit, Ansicht) die Entwicklung einzubeziehen und es scheint nicht viele Beispiele oder Tutorials zu sein, wie dies zu tun . Es gibt viele die vordefinierten Implementierungen verwendet wird.

Kann jemand Punkt mich in Tutorien oder andere Hilfsmittel für die einfache Implementierungen von Dokumenten- und welche anderen Klassen ich brauche zu erstellen, diese Arbeit zu machen.

War es hilfreich?

Lösung

Wenn Sie nur Zeicheneinfügemarke reagieren wollen / Löschen dann vielleicht ein DocumentFilter ist der bessere Ansatz. Dies ermöglicht Ihnen das Einfügen von Zeichen zu verhindern, dass das Dokument ist Sie dies wünschen. Lesen Sie die JTextField API und folgen Sie dem Link zu den Swing-Tutorial auf, um weitere Informationen „Text Component Eigenschaften“.

Andere Tipps

Es gibt ein Java Swing Tutorial Textkomponenten zur Verwendung von .

Im Grunde genommen können Sie hinzufügen Ihr DocumentListener auf das Dokument und reagieren auf Veränderungen oder eine eigene Implementierung des Dokuments schreiben. Mit AbstractDocument das sollte einfach sein , weil es nur ein paar abstrakte Methoden hat müssen Sie implementieren. Alternativ Sie können alos Unterklasse PlainDocument und nur eine certaing Reihe von Methoden für Sie von Interesse außer Kraft setzen.

Ihre Einschränkungen gegeben, dass Sie nur irgendwie beim Anschließen des Geräts reagieren müssen / Löschen von Zeichen ein Listener auf dem Dokument hinzugefügt werden, sollte am besten funktionieren.

Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

Es gibt EditorKit - Dokument - Ansichten Beziehungen Tutorial , die einen Einblick in die Umsetzung gibt der benutzerdefiniertes javax.swing.text.Document.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top