Wpis z mikrobloga

#programowanie #java #javafx
Robię projekt w javie. Samolot lata po pewnej trasie. Gdy dodaje drugi samolot to się zawiesza(nowy wątek). Współrzędne cały czas oblicza i wypisuje dobrze. Problem jest z rysowaniem. Wszystko oparte na wątkach.
Najczęściej wyrzuca błędy:


at java.util.ArrayList.elementData(ArrayList.java:418)
at java.util.ArrayList.get(ArrayList.java:431)
at javafx.scene.Parent.updateCachedBounds(Parent.java:1583)
at javafx.scene.Parent.recomputeBounds(Parent.java:1527)
at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1380)
  • 12
@szczepi: nie wiem po co tak robisz:

listaLotnisk.add(new Budynek(10,10,"pierwszeLotnisko"));
listaLotnisk.get(0).rysuj(pane);

nie lepiej:

Budynek b = new Budynek(10,10,"pierwszeLotnisko"));
b.rysuj(pane);
listaLotnisk.add(b);

?
@szczepi: możliwe. Musisz sprawdzić. Przede wszystkim uporządkuj kod, bo jest mało czytelny. Przede wszystkim nie powinieneś zakładać, że dany element będzie miał określony indeks np. 0 po dodaniu do listy - dlatego używałbym konstrukcji takiej co podałem wcześniej.