Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    7

    scroll bar per una chat

    Salve,
    ho realizzato una semplice chat in java e mi trovo davanti ad un problema.

    Ho creato un JTextArea e l'ho inserita in un JScrollPane;
    per aggiungere un nuovo messaggio alla textarea uso il metodo:

    textarea.append("mio messaggio"+'\n');

    Il problema è che quando, dopo qualche messaggio, si arriva col cursore al margine inferiore della textarea, lo scroll non segue la posizione del cursore stesso, come accade invece (per esempio) in una finestra di messenger.

    Io vorrei fare in modo che nella porzione visibile della textarea venga SEMPRE visualizzato l'ULTIMO messaggio immesso (con tutti i mess precedenti che c'entrano).

    Invece quello che accade adesso è che viene visualizzato sempre il primo messaggio immesso (con tutti i mess successivi che c'entrano) e dunque NON vedo gli ultimi messaggi, a meno di spostare a mano la barra di scorrimento...

    Ho provato a settare l'autoscroll sia al JScrollPanel che alla JTextArea, ma non cambia nulla.

    Spero di essere stato chiaro.
    Grazie
    /* no comment */

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    L'autoscroll non centra. Prova a spostare il cursore alla fine della JTextArea dopo ogni append.
    codice:
    tuaTextArea.setCaretPosition(tuaTextArea.getDocument().getLength());

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    7
    Ti ringrazio!
    Funziona perfettamente!

    Grazie ancora, ciao!
    /* no comment */

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.