1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Highlighting während der Texteingabe

Dieses Thema im Forum "OS X-Developer" wurde erstellt von keman, 03.04.06.

  1. keman

    keman Gast

    Java - Highlighting während der Texteingabe

    Ich will mit Java einen kleinen JavaScript-Syntaxhighlighter basteln, hab also mal mit dem Schlüsselwort "function" begonnen. Ich will, während der Texteingabe überprüft wird, ob das Wort "function" vorhanden ist, und es gehighlightet wird (Alle "function" müssen einen Highlight bekommen!). Ich habe mal dies hier gemacht, was aber nicht ganz funktioniert. Das erste Wort "function" wird rot. Das zweite dann auch, aber danach wird alles rot. Wo ist hier das Problem?

    public void highlight() {
    // p ist ein JTextPane
    // sc ist ein StyleContext
    Style _function = sc.addStyle("MainStyle", defaultStyle);
    StyleConstants.setFontFamily(_function, "Monaco");
    StyleConstants.setFontSize(_function, 12);
    StyleConstants.setForeground(_function, Color.red);


    if(p.getText().indexOf("function")!= -1) {

    int index=0;
    index=p.getText().indexOf("function",0);

    while(index!=-1) {


    doc.setCharacterAttributes(p.getText().indexOf("function",index), p.getText().indexOf("function",index)+8, _function, false);


    index=p.getText().indexOf("function",index+1);

    }
    }
    }
     
  2. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    Hallo,

    könntest Du evtl noch etwas mehr von deinem Code posten?

    Ich würde, schon der Übersichtlichtkeit wegen, mir zwei int Variablen einrichten und mit diesen dann arbeiten.
    Code:
    int keywordStart = 0;
    int keywordEnd = 0;
    
    keywordStart entspricht natürlcih index

    LoCal
     

Diese Seite empfehlen