Ciao a tutti,
ho uno scroll su un pannello, vorrei che quando non riesco a visualizzare tutto nello schermo lo scroll sia alla fine e non all'inizio...
non so se mi sono spiegata..
grazie
Ciao a tutti,
ho uno scroll su un pannello, vorrei che quando non riesco a visualizzare tutto nello schermo lo scroll sia alla fine e non all'inizio...
non so se mi sono spiegata..
grazie
In che senso "lo scroll sia alla fine e non all'inizio..."? :master:
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
No affatto.Originariamente inviato da Aleb
non so se mi sono spiegata..
Vuoi spostare "programmaticamente" l'area di "visione" nel JScrollPane? Fattibile.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ho un pannello in cui inserisco continuamente righe a una table, vorrei che lo scroll fosse sempre alla fine in modo da vedere sempre l'ultima riga
Quindi (come è tipico) la "view" del JScrollPane è il JTable. O usi scrollRectToVisible() di JTable oppure setViewPosition() di JViewport (questo è il componente dentro JScrollPane che si occupa della "view").Originariamente inviato da Aleb
ho un pannello in cui inserisco continuamente righe a una table, vorrei che lo scroll fosse sempre alla fine in modo da vedere sempre l'ultima riga
Vedi documentazione javadoc dei 2 metodi menzionati e vedi magari il mio esempio ProgrammaticTableScroll.java tra i miei Java Examples.
Altrimenti esiste una terza possibilità, prendere il JScrollBar verticale del JScrollPane e portarlo al massimo value possibile (anche qui, vedi javadoc).
In ogni caso il problema è quando fai questa operazione di scroll. Tieni presente che per aggiungere una riga, devi chiederlo al table "model". Il table model modifica la sua struttura interna e poi notifica i TableModelListener registrati. Se invochi lo scroll appena dopo aver chiesto l'aggiunta al model .... il risultato non è quello che vorresti. Perché la riga non è ancora stata creata nella "view". Quindi innanzitutto prova a registrare un tuo TableModelListener e fai lo scroll a seguito dell'evento.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
non c'è un metodo + semplice? ti spiego oltre alla table nel panel ho anche delle label fisse alla fine.. avevo messo il seguente codice
scrollTable.getViewport().setViewPosition(arrivede rci.getLocation());
ma non fa niente...