2012-03-16 188 views
2

我是JavaFX的新手,我想學習。我有一個包含一個包含線型圖一GridPane組,TableView中和HBox中(狀態欄),但我遇到了以下問題:JavaFX 2基於窗口大小不調整UI控件大小

  1. 我使用Windows XP的屏幕分辨率爲800 x 600,當我改變屏幕分辨率爲1024 x 768,lineChart,TableView和HBox不會擴展以填充新的窗口大小,它會在右側留下大量空間。當窗口調整大小時,如何使控件填充窗口的寬度。

  2. TableView的高度超出窗口的邊界,tableView的底部邊框和狀態欄未顯示。我怎樣才能確保tableView不會超出窗口高度?

+0

僅當您更改分辨率時,控件纔會被調整?如果您只是調整窗口大小,它會起作用嗎? – 2012-03-16 19:51:03

+0

它工作,如果我只是調整窗口,但不是當我改變決議。 – John 2012-03-16 19:58:59

回答

0

我怎樣才能使控制填滿窗口的寬度時,調整窗口。

而不是使用組作爲您的場景的根,只需使GridPane作爲您的場景的根。

佈局窗格類自動擴大和縮小,以適應其可用區域,因爲區域更改,而組沒有。

如何確保tableView不會超出窗口高度?

如果您只是進行上述更改並使用佈局窗格作爲場景根目錄,那麼您的場景可能最終會被完全封閉在窗口中。另外,如果窗口元素的最小尺寸的總和大於窗口尺寸,那麼TableView將超出窗口的邊界,在這種情況下,你可以減小元素的最小尺寸(通過使用更小的字體或更少的文本,明確設置minWidth/minHeight值等)或將元素包裝到ScrollPane中 - 但在您的情況下,這些修改可能是不必要的。

+0

我試過了,仍然沒有調整大小。忘了提及線圖和tableview放置在他們自己的gridpane之前,他們的gridpane被放置在中央的gridpane(一個添加到場景中)。任何建議? – John 2012-03-16 19:06:51

+0

對不起約翰,我不能重現這個問題(WinXPsp3,JavaFX 2.1b16,JDK7u4ea,Radeon HD 4650)。 – jewelsea 2012-03-16 23:39:00

0

您應該使用userComputed大小(高度和寬度)屬性。