Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Desktop-Applikationen und Grafik > Syntax Highlighting in einem JTextPane
Antwort
 
Themen-Optionen
Alt 02.11.2005, 21:50   Nach oben    #1
Konstantin
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
pago
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.084
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
Konstantin
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
pago
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.084
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

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 06:25 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

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