亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取由 ImageViews 組成的 GridPane 以適應 BorderPane

獲取由 ImageViews 組成的 GridPane 以適應 BorderPane

肥皂起泡泡 2021-08-04 16:11:01
我有一個關于我正在處理的 Uni-project 的問題。我們必須創建一個游戲,其中我們有一個由瓷磚組成的板,您應該能夠通過點擊來旋轉這些瓷磚。瓷磚應始終適合網格,并且網格應隨窗口調整大小。現在我創建了一個“TileView”類,它擴展了 ImageView 以獲得與瓷磚圖案匹配的圖片。然后我有 TileGrid,它擴展了 GridPane,它應該由寬度*高度的 tileviews 組成。這個 GridPane 在一個 BorderPane 中,這就構成了場景。不幸的是,我不能真正把代碼放在這里,因為我們有嚴格的抄襲規則(如果有人看到我的代碼并復制它,我也會下臺)。因此,我為寬度和高度創建了 2 個 for 循環并創建了一個新的 TileView 并將 PreserveRatio 設置為 true,然后執行以下操作:setRowIndex(temp, i);setColumnIndex(temp, j);super.getChildren().add(temp);這是在類 TileGrid 中。然后我將它添加到邊距插入 100 的 BorderPane 中,這就是發生的情況:但是現在我遇到了將 TileViews 擬合到網格大小并使它們隨窗口調整大小的問題。我試過(“temp”是剛剛創建的 ImageView,因為我把它們放在 TileGrid 中):temp.fitWidthProperty().bind(prefWidthProperty());temp.fitHeightProperty().bind(prefHeightProperty());但是我的單個 ImageViews 是巨大的。這占滿了我的整個屏幕。我嘗試了很多東西,搜索了幾個小時,但從未達到我想要的效果,所以我真的希望有人可以幫助我或即使沒有我的代碼也能給我提示。
查看完整描述

2 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

由于您無法提供任何代碼,我將嘗試為您提供使用步驟,我希望它可能會有所幫助
首先BorderPane,GridPane將它們的大小調整到窗口,您遇到了一個問題,即調整ImageViews的大小以使其成為可能可調整大小,您必須將bind它們的大小調整為場景的大小,并考慮您想要的網格的行數和列數,
假設您有 2 列,因此圖像是場景的 50%

imageView.fitWidthProperty().bind(scene.getWidthProperty().divide(2));

注意:我不確定這一行的語法我有點忙抱歉


查看完整回答
反對 回復 2021-08-04
  • 2 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號