2012-03-16 275 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大小(高度和宽度)属性。