• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

FXCollections.observableArrayList() - iteracja

Object Storage Arubacloud
0 głosów
370 wizyt
pytanie zadane 30 sierpnia 2016 w Java przez kaminki Obywatel (1,030 p.)
edycja 30 sierpnia 2016 przez kaminki

Mam problem z wyświetlaniem zawartości ObservableList.

public static void getValues(){
		try {
			connectToDatabase();
				
			sql = "SELECT * FROM wordsToTranslation" ;
			
			executeSql2(sql);
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
	}

private ObservableList<TableDB> data = FXCollections.observableArrayList();

public void getValuesFromDb() throws SQLException{
		
		getValues();
		int i = 1;
			while(resultSet.next()){
				data.add(new TableDB(resultSet.getInt(1), resultSet.getString(3), resultSet.getString(2)) );
				System.out.println(i + " " + data.get(3).toString());
				i++;
		}
	}

public void initialize(URL arg0, ResourceBundle arg1) {
		
		try {
			getValuesFromDb();
		} catch (SQLException e) {
			e.printStackTrace();
		}
}

 

W metodzie getValuesFromDb() dodaję dane z bazy danych do data i dopisałem do testu

System.out.println(i + " " + data.get(3).toString());

aby zobaczyć czy wszystko się wyświetli. W bazie danych w tabeli mam 3 kolumny id, namePL oraz nameEN. Jest około 11000 wierszy w tabeli. W każdym wierszu namePL jest słowo "brak" a w nameEN są różne zdania. Gdy chcę wyświetlić id to wszystko jest ok. Gdy namePL to zaczyna się gdzieś od pozycji 2500 i do końca a gdy nameEN to od pozycji około 9000 do końca. Wygląda na to że coś z pamięcią jest nie tak a nie mogę nic na ten temat znaleźć bo id jako cyfry pokazuje wszystkie, słowa polskie jako że są tylko słowa "brak" to nie zajmują dużo miejsca i pokazuje się więcej pozycji niż gdy w przypadku angielskiej nazwy gdzie są zdania.

komentarz 30 sierpnia 2016 przez kaminki Obywatel (1,030 p.)
Wygląda to tak, że gdy chcę wyświetlić wartości z tabeli, w której jest więcej tekstu to pokazuje mniej pozycji (od pewnego miejsca do końca ). Wygląda jak by była ograniczona pojemność i więcej nie pokaże.

1 odpowiedź

+1 głos
odpowiedź 30 sierpnia 2016 przez Leszek Szymański Gaduła (3,180 p.)
wybrane 30 sierpnia 2016 przez kaminki
 
Najlepsza
Spróbuj wrzucić wynik do pliku a nie na ekran, może jest jakiś bufor wyświetlanych danych.
komentarz 30 sierpnia 2016 przez kaminki Obywatel (1,030 p.)
Ale ogólnie wyświetla się dobrze w tableView. Problem jest w konsoli. A potrzebuję tego do iteracji żeby przejść przez wszystkie wiersze i na podstawie słowa angielskiego wczytywać słowa polskie ze słownika. A iteracja rozpoczyna się nie od początku tylko od około pozycji 9000.
1
komentarz 30 sierpnia 2016 przez Leszek Szymański Gaduła (3,180 p.)
A próbowałeś uruchomić apliację w trybie Debug i sprawdzić co sie dzieje?? Wydaje mi się że wszystko działa jak należy tylko bufor jest za mały(raczej jest to opcja ustawień środowiska) i dlatego "zawija wynik danych", nadpisuje to co było wcześniej.
komentarz 30 sierpnia 2016 przez kaminki Obywatel (1,030 p.)
Wszystko już działa. Pracuję w eclipsie i wyłączyłem "Limit console output". BYło ograniczenie i dlatego nie pokazywało wszystkiego

Podobne pytania

0 głosów
2 odpowiedzi 3,322 wizyt
pytanie zadane 26 stycznia 2017 w Java przez 0xf Dyskutant (8,180 p.)
+1 głos
1 odpowiedź 180 wizyt
pytanie zadane 27 lipca 2022 w Java przez michal441599 Użytkownik (530 p.)
0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 28 października 2018 w Java przez ILikeJava Obywatel (1,230 p.)

92,551 zapytań

141,399 odpowiedzi

319,530 komentarzy

61,937 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...