2013-01-03 28 views
3

我有一個組的座標轉換我想完全管理自己。內置layoutXlayoutY屬性是搞砸了,我想完全禁用它們。如何禁用JavaFX組的自動佈局?

似乎至少有兩種方法來做到這一點。 relocate(0,0)或簡單地將屬性設置爲0.但在Group構造中這樣做爲時過早;無論如何,這些值都是0。

所以:我如何告訴Group不打擾佈局?

當然,我也可以保持layoutX | Y原樣,並在我自己的轉換中對它們進行補償。這是計劃B.

Ref。 JavaFX Node

回答

5

的問題是有點難以理解,但我猜你在某種形式的管理佈局PaneGroup(如StackPaneVBox),但你不希望集團的佈局值是由佈局窗格設置 - 在這種情況下,您可以使組unmanaged

例如,在下面的代碼,該組的非託管性質使其具有0,0佈局座標而非50,60佈局座標其中StackPane將通常設置爲中心,它的內部父級StackPane。

Group group = new Group(new Rectangle(100, 80)); 
group.setManaged(false); 
StackPane container = new StackPane(); 
container.setMinSize(StackPane.USE_PREF_SIZE, StackPane.USE_PREF_SIZE); 
container.setPrefSize(200, 200); 
container.setMaxSize(StackPane.USE_PREF_SIZE, StackPane.USE_PREF_SIZE); 
container.getChildren().add(group); 
+0

現貨!我有一個StackPane中的組。感謝提及.setManaged。 :)再一次顯示瞭如何晃動! – akauppi

+0

@jewelsea,我想知道如何將一個Rectangle對象分配給一個組變量。這是一個錯字嗎? –

+0

@Urs,是的,這是一個錯字。我編輯了答案來解決它。感謝您指出。 – jewelsea