Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    CaretPosition in JEditorPane

    Salve a tutti, ho un JEditorPane con contentType settato a "text/html",e deve venire fuori una cosa simile a un terminale, l'unica differenza è che l'utente non scrive niente in esso, funge semplicemente da log.
    Quindi ho bisogno che, man mano che il programma aggiunge del testo, la scrollbar del JEditorPane vada alla fine di tutto il testo, in modo da poter vedere sempre le ultime righe scritte. Quello che avevo provato era:

    codice:
    //editorPane1 = il JEditorPane
    //line = la riga che ogni volta viene aggiunta
    editorPane1.setText(removeTags(editorPane1.getText())+"
    Tried:<font color=#5555cc>"+line+"</font>");
    editorPane1.setCaretPosition(editorPane1.getText().length());
    Ma mi restituisce un
    codice:
    Exception in thread "main" java.lang.IllegalArgumentException: bad position: 179
    perciò sicuramente c'è qualcosa che mi sfugge.

    Sapete aiutarmi? Grazie mille, ciao!
    L'ascensore può scendere su e giù...
    by Prof di Sistemi

  2. #2
    Niente, ho risolto da solo, il problema è che, essendo editorPane1 un JEditorPane formattato in html, se io richiedo la lunghezza del testo inserito in esso con la getText().length(), la getText() mi restituisce il testo comprensivo di tag html, mentre il caret si basa solo su quello che viene visualizzato dall'utente, quindi se io ho scritto una sola riga nel JEditorPane

    codice:
    <html>
    <head></head>
    <body>
    <font color="blue">ciao</font>
    </body>
    </html>
    editorPane1.length() varrà 74, mentre il caret position, quando il cursore è posizionato subito dopo la 'o', vale 4, perchè quello che vede l'utente è un semplice "ciao" scritto in blu. Perciò, se il caret si basa su quello che viene mostrato a video, dovrò mettere editorPane1.setCaretPosition(4), altrimenti mi darà

    codice:
    Exception in thread "main" java.lang.IllegalArgumentException: bad position: 74
    Spero di essere stato chiaro, grazie comunque, ciao!
    L'ascensore può scendere su e giù...
    by Prof di Sistemi

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.