Java JList di scorrimento per voce selezionata
Domanda
Ho un JList
con un sacco di oggetti in esso, di cui è selezionato uno. Vorrei scorrere fino alla voce selezionata in questo JList
, così l'utente può vedere rapidamente quale elemento è selezionato.
Come posso fare questo?
String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);
Soluzione
Questo dovrebbe farlo:
dataList.ensureIndexIsVisible(dataList.getSelectedIndex());
Altri suggerimenti
O, se multi-selezione è attivata:
dataList.scrollRectToVisible(
dataList.getCellBounds(
dataList.getMinSelectionIndex(),
dataList.getMaxSelectionIndex()
)
);
È possibile utilizzare il metodo ensureIndexIsVisible
Scorre l'elenco all'interno di un racchiude finestra per renderla la cella specificata completamente visibile. ciò richiede scrollRectToVisible con i limiti di la cella specificata. Per questo metodo per il lavoro, la JList deve essere all'interno di una JViewport.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow