Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50

    Colorare alcune stringhe in un JTextPane

    Ciao a tutti,

    espongo il mio problema.

    Ho un JTextPane in cui il testo di un file. Ho la necessità, però di cambiare il colore ad alcune di queste parole di questo testo. Mi spiego meglio: controllo tutto il testo, se contiene una certa stringa la coloro di rosso, se ne contiene un'altra la coloro di blu,ecc.. lasciando inalterato lo stile del resto del documento.

    Come posso fare ciò? fino ad ora sono riuscito a cambiare il colore e il font solamente di tutto il testo utilizzando SimpleAttributeSet.

    grazieeee ciao

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Colorare alcune stringhe in un JTextPane

    Originariamente inviato da luca_87
    Come posso fare ciò? fino ad ora sono riuscito a cambiare il colore e il font solamente di tutto il testo utilizzando SimpleAttributeSet.
    Quando vuoi/puoi fare la colorazione? Nel momento in cui carichi il testo? O dopo che il testo è già stato caricato nel text pane?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50
    Nel momento in cui carico il testo

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da luca_87
    Nel momento in cui carico il testo
    Allora potresti inserire il testo in uno StyledDocument "a pezzi" con insertString() specificando di volta in volta gli attributi particolari.
    Il problema semmai è come trovare quelle porzioni particolari di testo che ti interessa colorare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50
    Si, infatti.. non c'è alcun metodo che controlla ogni carattere del testo inserito?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da luca_87
    Si, infatti.. non c'è alcun metodo che controlla ogni carattere del testo inserito?
    Innanzitutto dovresti dire se le parole sono "fisse" (cablate nel programma) o dinamiche e quante sono. A seconda di questo ci possono essere diversi approcci.
    Potresti caricare tutto il testo in un StringBuffer e poi usare le espressioni regolari per trovare le parole.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50
    le parole sono fisse, essendo dei tag specifici.. può variare solo la loro quantità di volta in volta

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da luca_87
    le parole sono fisse, essendo dei tag specifici.. può variare solo la loro quantità di volta in volta
    Se ti può servire, tra i miei Java Examples, sezione Text components ho aggiunto un esempio StyledWordsText.java in cui basandosi su una associazione parola->attribute set con una Map, inserisce del testo in uno StyledDocument settando degli attributi specifici per le parole mappate.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    50
    Ho visto adesso il tuo esempio, ma nel tuo caso dichiari già inizialmente la stringa "text" che contiene tutte le parole da mappare..
    nel mio caso, in cui utilizzo un file, come faccio? cosa passo al metodo create Document di StyledWordsDocumentGenerator ?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da luca_87
    Ho visto adesso il tuo esempio, ma nel tuo caso dichiari già inizialmente la stringa "text" che contiene tutte le parole da mappare..
    nel mio caso, in cui utilizzo un file, come faccio?
    Cambia molto poco ..... apri il file, leggi e metti tutto in uno StringBuffer/StringBuilder!
    (e nota che entrambi sono dei CharSequence)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.