2012-07-31 7 views
10

Zgodnie z dokumentacją, zarówno region, jak i okienko zmienią rozmiar wszystkich węzłów podrzędnych o zmiennej wielkości do preferowanego rozmiaru, ale nie zmienią położenia.Javafx Pane kontra region?

Więc nie widzę, gdzie różnice między tymi dwoma pojemnikami pozostają i kiedy korzystać z tych lub innych.

Odpowiedz

25

Region jest superklasą dla komponentów, które mają węzły potomne.

Różnica polega na tym, że Region nie pozwala na manipulowanie swoimi dziećmi z API. Metoda Region.getChildren() jest chroniona, więc nie możesz jej użyć:

new Region().getChildren().add(...); // doesn't compile 
new Pane().getChildren().add(...); // works 

Dlaczego tak jest?

Ponieważ Region jest dedykowany dla programistów komponentów, a to pozwala im wybierać, czy chcą, aby umożliwić użytkownikom API do pracy z dziećmi bezpośrednio (jak Pane, HBox, etc), czy nie (jak wykresy).

+0

Krystalicznie czysta i precyzyjna odpowiedź, bardzo dużo. – QuidNovi