Witam!
Chciałbym utworzyć listę ListView w JavaFX, gdzie elementy zamiast być dodawane od góry były by dodawane od dołu.
Na internecie nie znalazłem zbyt wiele informacji na temat uporządkowywania elementów :/
|
Tworzysz ObservableList.
ObservableList<String> data = FXCollections.observableArrayList();
Dodajesz elementy na początek listy,
data.add(0, "nazwa elementu");
lub w standardowy sposób i odwracasz listę (dla ArrayList powinno wykonać się szybciej).
data.add("nazwa elementu");
Collections.reverse(data); // po dodaniu wszystkich elementów
Wrzucasz do ListView.
ListView listView = new ListView();
listView.setItems(data);
Mam nadzieję, że niczego nie przekręciłem, bo piszę na sucho.
Nie chodzi mi o kolejność danych lecz o to, że dane nie są dodawane od góry listy i pod nimi jest pusto, a o to że dane są na dole a nad nimi pusto. Chodzi mi o wyrównanie komórek nie do góry listy ,lecz do dołu.
Myślałem nad dodaniem pustych komórek nad nimi ale może jest inny mniej łopatologiczny sposób.
Interesujące. Zastanów się, czy ListView to na pewno ten komponent, który chcesz użyć. Jeśli tak, to jedyne co mi przychodzi do głowy to wrzucenie pustych wierszy, albo napisanie customowego componentu.
Myślałem nad Vboxem w ScrollPane. Co myślisz o tym ?
VBox -> BorderPane -> ScrollPane
Dzięki BorderPane zakotwiczysz wszystko do dołu.
Ewentualnie możesz ręcznie spacingi poustawiać i w ten sposób uzyskać efekt odstępu.
Dzięki wielkie za pomoc :D