Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    26

    spostare il knob della scrollbar di un jscrollpane da codice

    potete gentilmente spiegarmi come poter spostare il knob della scrollbar di un jscrollpane da codice nella posizione che voglio in modo da visualizzare la riga della jtable in esso contenuta che voglio?

    grazie e buona giornata
    :quote: :berto:

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

    Re: spostare il knob della scrollbar di un jscrollpane da codice

    Originariamente inviato da sandro70
    potete gentilmente spiegarmi come poter spostare il knob della scrollbar di un jscrollpane da codice nella posizione che voglio in modo da visualizzare la riga della jtable in esso contenuta che voglio?
    Purtroppo non c'è in JTable un metodo apposito per rendere visibile una riga o cella.

    In generale (indipendentemente da cosa contiene JScrollPane) basta prendere la scrollbar verticale/orizzontale dallo scrollpane (vedi javadoc) ed impostare il suo value.

    Però nel tuo caso con JTable non è affatto "banale". Tu sai la riga da rendere visibile ma lo scrolling non è basato sulle "righe" .... è basato proprio sulle dimensioni fisiche. Insomma .... JScrollPane (e le sue due JScrollBar) non "sanno" nulla di righe/colonne/celle .... sanno solo che il componente contenuto si espande un tot in oriz./vert. e si basano su quello.

    Quindi dovresti prendere il Rectangle della riga (vedi getCellRect() di JTable), per fare le cose in generale si dovrebbe anche tenere conto degli eventuali "insets" del componente e a quel punto si dovrebbero fare dei calcoli per determinare il "value" appropriato per lo scrollbar.
    Nulla di impossibile .... ma così su due piedi non saprei dirti esattamente come farlo. Insomma, c'è solo da leggere bene la documentazione javadoc e fare qualche ragionamento.


    EDIT: Forse c'è un metodo un pochino più semplice. Bisogna comunque determinare il Rectangle della riga del JTable ma ho visto che JViewport (il componente che gestisce la "finestra" sul componente nel JScrollPane) ha il metodo scrollRectToVisible(Rectangle). Quindi molto interessante.
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.