簡體   English   中英

無法在JavaFX中移動矩形?

[英]Can't move a rectangle in JavaFX?

我似乎無法在JavaFX中移動矩形對象。 我已經將矩形放置在堆棧窗格中,但是每當更改矩形的坐標時,矩形就不會移動(即使更改初始化的坐標)。 所以,

Rectangle rect = new Rectangle(150,150,75,75);

將位於堆棧窗格的中心,以及

Rectangle rect = new Rectangle(2043,136,75,75);

每當我使用

rect.setX();

矩形完全不移動。 我知道我缺少真正簡單的東西,只是無法弄清楚。 我不想使用過渡,因為我的目標是簡單地將矩形按箭頭鍵方向移動幾個像素。 那我到底在做什么錯?

如果要手動指定布局坐標(例如Rectangle的x,y坐標),請使用其他容器類型(例如Pane )。

背景

StackPane是托管布局窗格-它控制您放置在其中的項目的布局(默認情況下,將項目居中放在堆棧中)。 因此,給定矩形的坐標並不重要,當將其放置在StackPane中時,布局管理器將移動矩形,使其位於堆棧的中心。

JavaFX有兩個用於定位的概念,一個是布局坐標 ,另一個是平移增量 ,它們被添加到布局坐標中。 TranslateTransitions通過修改翻譯增量來工作。 翻譯是為了動畫和臨時移動事物。 平移與布局無關,並且不影響布局值,因此您可以在StackPane中放置某些內容並對其應用TranslateTransition,它仍然會移動,但會從堆棧的中心移動,因為這是初始布局位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM