Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: java setTextColor

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    java setTextColor

    Ho un file di testo inserito dentro un JTextPane

    JTextPAne textPAne = new JTextPAne();

    volevo sapere come faccio a colorare una intera riga di testo a partire da dove si trova il puntatore?
    io ho scritto

    int pos = textPane.getCaretPosition();

    per sapere dove mi trovo

    adesso devo dirgli che da "pos" in poi deve colorare la riga di rosso (solo la riga non tutto il documento)

    come faccio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    che metodi posso usare?

  3. #3
    Se selezioni il testo puoi usare il metodo setColorSelected(Color c);
    mi pare sia così
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    se il testo è selezionato i metodi li ho trovati
    se invece voglio colorare il testo da un certo punto fino alla fine della riga, senza che il testo sia selezionato che metodi posso usare?

  5. #5
    Dovresti calcolare il valore della posizione del fine riga per quella riga e selezionare quel testo tramite il metodo setSelection(int in,int fin);
    e poi colorarlo .
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    la posizione da dove iniziare la posso calcolare perchè è il punto in cui è posizionato il cursore (quindi si usa il metodo getCaretPosition o simile) ma per calcolare la posizione di fine riga come faccio?

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    stringa.indexOf("\n", 10) posizione di carattere di nuova riga dalla posizione 10

  8. #8
    Una soluzione che mi viene in mente ora è quella di andare a scandire il testo fintanto che non trovi il carattere di fine linea.Es.

    int in,fin;
    in=textPane.getCaretPosition();
    fin=in+1;
    while( (textPane.getText(in,fin).charAt(0))!='\n' ) in=fin;fin++;

    textPane.setSelected(textPane.getCaretPosition(),f in);
    textPane.setSelectedColor(Color.RED);

    una cosa del genere
    Non so se questo codice funziona .
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  9. #9
    D'oh
    Vedi a non ricordarsi le api a memoria
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    hem scusate la mia ottusità ma
    stringa.indexOf

    stringa cosa ci metto? la stringa che rappresenta tutta la linea?

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.