Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425

    [Java] creare funzione di syntax-highlight

    salva ragazzi
    sto progettando un umile amiente di sviluppo Java.
    La prima funzione che ho deciso di implementare è quella del syntax-highlight, ovverò del coloramento del testo in base alla sintassi di java.
    Il mio problema è più algoritmico che pratico, però se qualcuno sa qualche altro sistema migliore... dica che sono confuso.

    Ecco i sistemi che ho provato fino ad ora usando un JEditorPane settando il Mime-Type in text/html:

    1) un replace che sontituisce tutte le keywords con aggiunto un all'inizio e un alla fine per metterle in rilievo.
    Funziona in parte, appena viene inserita una parola chiave tutte le parole seguenti sono cmq in rilievo

    2)trovare la substring compresa tra il primo spazio a partire dal caret e la posizione del caret stesso, non funziona corettamente, forse perchè nella substring l'ultimo carattere non viene incluso...

    Ho provato anche gli stili con JTextPane, ma non funziona.

    L'ideale è se qualcuno conosce un componente di terze parti da inserire... visto che dovrei anche gestire se è un comento, se sta tra " ecc...

    Grazie

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Io ho realizzato un editor in java con hilight della sintassi..e la cosa in effetti non e semplicissima. Nel mio caso ho ridefinito il document del JTextPane in modo tale che ogni volta che vienie inserita una stringa in una posizione p, esamino la porzione di stringa che va da p in avanti e indietro fino a comprendere un'intera parola, che esamino per verificare se questa è una porola chiave o no, cambiando il suo stile; in piu devi controllare ai margini di tale intervallo se si sono formate o eliminate parole in seguito all'inserimento. Io controllavo solo le parole chiavi, per fare un vero hihligth devi realizzare una sorta di parsing dinamico per distinguere elementi di sintassi come numeri, stringhe, commenti, tipi, identificatori, ecc ecc ecc,,

    Per java se non sbaglio esiste un modulo eclipse per l'evidenziazione della sintassi,


  3. #3
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da anx721
    Io ho realizzato un editor in java con hilight della sintassi..e la cosa in effetti non e semplicissima. Nel mio caso ho ridefinito il document del JTextPane in modo tale che ogni volta che vienie inserita una stringa in una posizione p, esamino la porzione di stringa che va da p in avanti e indietro fino a comprendere un'intera parola, che esamino per verificare se questa è una porola chiave o no, cambiando il suo stile; in piu devi controllare ai margini di tale intervallo se si sono formate o eliminate parole in seguito all'inserimento. Io controllavo solo le parole chiavi, per fare un vero hihligth devi realizzare una sorta di parsing dinamico per distinguere elementi di sintassi come numeri, stringhe, commenti, tipi, identificatori, ecc ecc ecc,,

    Per java se non sbaglio esiste un modulo eclipse per l'evidenziazione della sintassi,

    Grazie per i consigli, provo a vedere i moduli di eclipse.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.