JavaFX ListView dodawanie elementów od dołu

0

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 :/

Koślawy przykład:

|
|
|Trzy
|Dwa
|Jeden

1

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.

0

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.
user image
Myślałem nad dodaniem pustych komórek nad nimi ale może jest inny mniej łopatologiczny sposób.

1

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.

0

Myślałem nad Vboxem w ScrollPane. Co myślisz o tym ?

1

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.

0

Dzięki wielkie za pomoc :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1