Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java - Jak získat objekty v určené oblasti

S JavaFX som nerobil, ale tak vo všeobecnosti potrebuješ zistiť, či sa určená oblasť pretína s oblasťou daného prvku.

Zo zbežného googlenia, oblasť daného prvku získaš pomocou volania node.localToScene(node.getBoundsInLocal()) alebo node.localToScreen(node.getBoundsInLocal()). Či sa oblasti pretínajú zistíš volaním metódy bounds.intersects(otherBounds). Obidve oblasti musia byť samozrejme v rovnakom súradnicovom systéme.

Takže asi takto:

final BoundingBox boundingBox = new BoundingBox(100, 100, 200, 200);
final List<Node> list = root.getChildren().stream()
        .filter(node -> boundingBox.intersects(node.localToScene(node.getBoundsInLocal())))
        .collect(Collectors.toList());

Netestované, s JavaFX som nerobil, ale skúsil by som to takto.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny