Portal > Foren > Java > Desktop-Applikationen und Grafik > Syntax Highlighting in einem JTextPane
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 02.11.2005, 21:50 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 27.10.2005
Beiträge: 7
Standard Syntax Highlighting in einem JTextPane

Hallo!

Ich habe mich jetzt schon etwas länger mit dem Thema Syntax Highlighting beschäftigt. Mein Ziel ist es, beliebigen Source Code, der in einem JTextPane steht, zu hightlighten. Die Informationen (Schlüsselwörter etc.) sollen in Dateien stehen und dort ausgelesen werden.

Im Folgenden möchte ich mal kurz einen Überblick über meinen aktuellen Stand der Dinge geben. Wenn irgendwas nicht stimmt oder ich was falsch verstanden habe, dann korregiert mich bitte.

Wie ich herausgefunden habe, brauche ich da so etwas, was sich "Scanner" nennt. Dieser Scanner parset praktisch den Text in einzelne Tokens. Diese können dann eingefärbt werden.

Als erstes, wirklich interessantes, hab ich den Scanner von http://www.cs.bris.ac.uk/Teaching/Re...MS30122/tools/ gefunden. Leider funktioniert der mitgelieferte Java-Scanner nicht tadellos. Beim editieren des Textes tauchen Fehler beim Highlighten auf.

Dann bin ich JLex bzw. JFlex gestoßen. Das sind Java-Programme, die Scanner erstellen (Scannergeneratoren). (Ab wann brauch mal den CUP dazu? Das hab ich nicht ganz verstanden.) Das Problem ist da aber, dass man dort vorher die Angaben über die Sprache machen muss und diese nicht in Konfigurationsdateien auslagern kann. Außerdem ist mir nicht ganz klar, wie man das mit dem JTextPane verknüpft. Immerhin will ich ja nicht bei jedem Buchstaben, der getippt wird, den kompleten Text highlighten.

Also wie könnte so was aussehen? Hat da jemand Erfahrungen oder ein paar Tipps? Gibt es noch irgendwo Docus dazu?

Gruß
Konstantin
Konstantin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.11.2005, 16:32 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Ich setze bei meinem Editor auf eine auf der veralterten Syntax-Komponente aus JEdit basierende Komponente. Allerdings kann man dort bislang auch noch keine Konfigurationsdateien verwenden, sondern muss den kompletten Parser in Java schreiben - eine Höllenarbeit.

Vielleicht kannst du dich ja mal mit der Editor-Komponente, die in NetBeans integriert ist, auseinander setzen.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2005, 15:45 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 27.10.2005
Beiträge: 7
Standard

Ich hab mich jetzt mal mit der Syntax-Componente von JEdit auseinandergesetzt. Wollte mir dann mit Hilfe von dem JEdit-Code meine eigene Text-Komponente schreibe, habe dabei aber festgestellt, dass das veralterter Code ist, der sich nur mit -source 1.3 übersetzen lässt. Dieser Code benutz viele Methoden, die deprecated sind.

Der Versuch, mir eine eigene Komponente mir "mordernen" Mitteln ist mangels Erfahrung gescheitert. Ich habe versucht von JComponent abzuleiten, was aber eine Menge arbeit macht, dieses ganze Text-Gedöhnse zu Implementieren.
Das Ableiten von JTextComponent hat gar nicht geklappt.

Kann mir irgendwer links zu Tutorials o. ä. geben, die das Erstellen von (Text-)Componenten behandeln? Oder vielleicht auch ein Buch, welches das Behandelt?

Hat jemand noch andere Ideen, wie ich diese TextComponente realisieren kann?

Danke im Voraus.
Konstantin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2005, 18:05 Nach oben    #4
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

http://java.sun.com/products/jfc/tsc...kit/index.html

Vielleicht hilft dir das ja. Ich fand's seinerzeit völlig unverständlich und unbrauchbar (zumal der Parser nicht richtig funktioniert)
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[SQLite] near "AUTOINCREMENT": syntax error Prophet Datenbanken 5 11.05.2006 18:55
synthax highlighting Klasse für HTML und PHP robind Desktop-Applikationen und Grafik 15 16.01.2006 15:11
line wrap mit jtextpane beny_mcde Desktop-Applikationen und Grafik 3 12.02.2005 17:53
URI Syntax bluelight Allgemeine Java-Programmierung 3 11.02.2005 10:32
XML in JTextPane darstellen Elathir HTML, XML und CSS 1 20.01.2005 11:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:14 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44