2015-05-21 65 views
0

我得到了在地圖上繪製一些點的任務。寫了一些代碼,但目前我通過shape創建的每個點都會被添加到我的gridpane內的錯誤位置。哦,我正在使用JavaFX。將形狀添加到GridPane導致錯誤的位置

我添加了一個imageView到我的GridPane的索引0,0,並且每個點都是通過imageView上的MouseEvent的x和y位置創建的。 之後,我將創建的點添加爲GridPane的子元素,並將其顯示在第一個網格的y軸的中心。 試圖像anchorPanes和畫布不同的東西,但似乎無法得到它的工作。

碼的我的觀點: http://pastebin.com/dCb7EN4d

我主要的代碼: http://pastebin.com/vp5tzxkG

我希望這就夠了^^」 請幫助!

問候, 本

+0

歡迎來到StackOverflow。當提問類型爲「爲什麼這個代碼不工作?」的問題時,請:(1)創建一個最小的,可執行的例子,其中包含足夠的代碼來重新創建問題(即發佈可執行文件,但不要發佈整個項目)。有關詳細信息,請參閱http://stackoverflow.com/help/mcve。 (2)在問題中發佈你的代碼,而不是鏈接到它。這意味着即使pastebin停止工作(或者因爲現在...而超載),您的問題對於將來的用戶仍然是有意義的。 –

回答

0

GridPane是管理佈局:將(使用默認值,如果你不將它們設置)的位置,它們通過您設置的屬性添加到它的節點。因此,當您將圓圈添加到網格窗格中時,由於您未設置任何屬性,因此將它放置在單元格(0,0)中,並使用默認設置將其與單元格對齊;即它忽略了centerXcenterY屬性。

你應該在這裏真正做的是使用不管理節點定位的佈局,例如Pane(或可能是Group)。您可以將ImageViewCircle放在窗格中,然後將窗格放置在佈局的其餘部分中(我認爲在滾動窗格中)。

你有另一種選擇是給你打電話添加到GridPane節點上setManaged(false)以指示GridPane不給他們的位置,但這種感覺就像多一種解決方法。