Eigener Syntax Highlighter - Problem

schmidi000

Mitglied
Hey Leute, ich habe ein Problem.
Ich hab mir einen eigenen Syntax Highlighter geschrieben, welcher nur zum Teil funktioniert.

Ich hab ein JTextPane auf dem ich den Syntax Highlighter anwende.


Das ist der Thread prüft permanent ob ein Substring im JTextPane mit "<" beginnt und mit ">" endet:

Java:
	class checkForSyntax extends Thread {
		checkForSyntax() {
			setDaemon(true);
			setName("SyntaxChecker");
		}
		
		@Override public void run() {
			while(true) {
				textPaneText = textPane.getText();
				try {
							Matcher matcher = Pattern.compile("<.*>").matcher(textPaneText);
							while(matcher.find()) {
								StyleConstants.setForeground(style,Color.BLUE);
								doc.setCharacterAttributes(matcher.start(), matcher.end(), textPane.getStyle("Blue"), true);
							}
				}
				catch(Exception e) {
					System.err.println("Error while checking syntax!");
					e.printStackTrace();
				}
			}
		}
	}

Wenn dies der Fall ist wird dieser blau gefärbt.

Hier sind die Initialisierungen und Deklarationen:

Java:
JTextPane textPane = new JTextPane();
public final Lock lock = new ReentrantLock();
public StyledDocument doc = textPane.getStyledDocument();
public Style style = textPane.addStyle("Blue",null);
String textPaneText;

Nun zum Problem:

Wenn ich in mein JTextPane nun einen Text eingebe zb. "<html>" dann wird dieser blau gefärbt, dann mach ich einen Zeilenumbruch mit Enter und gib "</html>" ein, dann wird nur "html>" blau gefärbt. Wenn ich den ganzen Text aus dem JTextPane lösche und schreibe "asdjsnhcfnwevkh" also nichts was im Schlüsselwörter Array vorkommt, dann wird trotzdem alles blau gefärbt.

Ich weiß echt nicht an was das liegt.

mfg schmidi000
 
T

Tomate_Salat

Gast
Hatte mir auch mal einen Syntaxhighlighter geschrieben. Das Problem war bei mir afair das [c]\r[/c]. Entferne mal dieses Steuerzeichen aus deinem Text, vllt klappts dann.
 

schmidi000

Mitglied
Danke für die schnelle Antwort Tomate_Salat aber es funktioniert leider immer noch nicht :-(.

Ich habe es so auch mal probiert:

Java:
Matcher matcher = Pattern.compile("</?.+>").matcher(textPaneText);

und so (so funktioniert es am wenigsten):

Java:
Matcher matcher = Pattern.compile("<>").matcher(textPaneText);

und so, dass ich auch noch einen Zeilenumbruch abwarte:

Java:
Matcher matcher = Pattern.compile("</?.+>\r").matcher(textPaneText);
 
T

Tomate_Salat

Gast
Ich meine sowas:
Java:
String cleanTextPaneText=textPaneText.replaceAll("\r","");
und dann arbeitest du mit [c]cleanTextPaneText[/c]
 

schmidi000

Mitglied
Hab grad bemerkt, dass da etwas noch immer nicht stimmt.

Wenn ich zb. schreibe:

<html>
Text
</html>

dann wird "<html>" und "</html>" gefärbt und "Text" nicht, soweit so gut... wenn ich jetzt aber Text bis zum Zeilenanfang lösche, dass das Ganze danach so aussieht:

<html>

</html>

und danach schreibe ich in dieser Zeile, in der vorhin "Text" stand wieder etwas, dann wird der Text auch blau gefärbt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Maxim6394 JavaFX Scene Builder - Crash bei eigener Komponente AWT, Swing, JavaFX & SWT 2
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
K eigener button in swing AWT, Swing, JavaFX & SWT 3
T Event Handling JLabel als eigener Button AWT, Swing, JavaFX & SWT 7
A Drag and Drop eigener Objekte AWT, Swing, JavaFX & SWT 7
B Erstellen eigener Combobox ("CellFactory") AWT, Swing, JavaFX & SWT 4
Oliver530 ActionListener von eigener ButtonKlasse AWT, Swing, JavaFX & SWT 16
N 2D-Grafik RTF in eigener JComponent AWT, Swing, JavaFX & SWT 2
K 3D-Grafik Canvas ist ein eigener Frame?! AWT, Swing, JavaFX & SWT 13
frankred Swing Eigener ListCellRenderer D'n'D "MOVE" - Mauszeiger flackert AWT, Swing, JavaFX & SWT 14
N jComboBox und eigener Datentyp AWT, Swing, JavaFX & SWT 8
Q Eigener Colorchooser AWT, Swing, JavaFX & SWT 2
V LayoutManager Eigener LayoutManager funktioniert nicht. AWT, Swing, JavaFX & SWT 5
C Swing eigener InputDialog AWT, Swing, JavaFX & SWT 6
L Swing Falscher Wert nach eigener Sortierung (JTable) AWT, Swing, JavaFX & SWT 2
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
S Mit eigener Klasse auf GUI-Elemente zugreifen AWT, Swing, JavaFX & SWT 3
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
O Eigener Button AWT, Swing, JavaFX & SWT 8
data89 Eigener Button variiert in der Größe - Hilfee! AWT, Swing, JavaFX & SWT 5
A Nimbus eigener Painter funzt nicht AWT, Swing, JavaFX & SWT 11
O AWT Zeichne mit eigener Farbe AWT, Swing, JavaFX & SWT 3
A Aufrufen eigener Klasse AWT, Swing, JavaFX & SWT 8
J eigener Layoutmanager? AWT, Swing, JavaFX & SWT 6
M Eigenes ActionEvent / Eigener Listener AWT, Swing, JavaFX & SWT 2
G SWT DatePicker funzt nicht in eigener Anwendung AWT, Swing, JavaFX & SWT 5
J Problem mit eigener Titelleiste und MouseMotionListener AWT, Swing, JavaFX & SWT 2
F Eigener Observer? AWT, Swing, JavaFX & SWT 4
H eigener Editor und JList als PopMenu AWT, Swing, JavaFX & SWT 6
M Brauche Hilfe zum Einbinden von eigener Schrfitart AWT, Swing, JavaFX & SWT 3
m@nu Problem mit eigener TableCellEditor-Impelemtierung AWT, Swing, JavaFX & SWT 5
clemson Edtor mit anzeigen eigener Tags AWT, Swing, JavaFX & SWT 8
V SWT eigener Renderer? + wo gibts die Sourcen für SWT AWT, Swing, JavaFX & SWT 2
C Java SWT StyledText SQL-Syntax-Highligthing AWT, Swing, JavaFX & SWT 20
S Syntax Highlighter AWT, Swing, JavaFX & SWT 3
D Syntax Highlighting Einsteiger Hilfen AWT, Swing, JavaFX & SWT 2
S Syntax Highlighting AWT, Swing, JavaFX & SWT 2
M Java-Quellcode im Paanel mit Syntax-highlightning darstellen? AWT, Swing, JavaFX & SWT 2
C Syntax Highlighting Component AWT, Swing, JavaFX & SWT 2
J g.drawPolyline(u,b,u.length) Syntax Frage AWT, Swing, JavaFX & SWT 2
R Syntax Highlighting von Java-Code AWT, Swing, JavaFX & SWT 2
D Syntax Highlighting AWT, Swing, JavaFX & SWT 7
I JHTMLEditor mit Syntax-Highlighting? AWT, Swing, JavaFX & SWT 3
G Gibt es eine Klasse für Syntax highlighting? AWT, Swing, JavaFX & SWT 3
W Editor Syntax Farben AWT, Swing, JavaFX & SWT 2
T Problem mit Highlighter AWT, Swing, JavaFX & SWT 5
M Highlighter AWT, Swing, JavaFX & SWT 20

Ähnliche Java Themen


Oben