javafx,table 的高度未调整大小
javafx, hieight of table is not resizing
我已经使用 scenebuilder 在 javafx 中创建了 TableView。它在小 window 中看起来很棒,但是当我将其全屏显示时,它不会调整高度,而只会调整宽度。它还显示了一个我没有创建的额外空列。所以请帮助我。我刚刚调用了using main.java class的fxml文件。
The UI I created in SceneBuilder
The Window after full screen with extra unwanted column
您可以使用绑定解决这些问题:
列宽:
如果你想平分那么:
first.prefWidthProperty().bind(tableView.widthProperty().divide(3));
last.prefWidthProperty().bind(tableView.widthProperty().divide(3));
email.prefWidthProperty().bind(tableView.widthProperty().divide(3));
或者不使用 divide(3)
,您可以设置任何除法,例如:40% 40% 20%
喜欢:
double firstPercent = 0.4;
double lastPercent = 0.4;
double emailPercent = 0.2;
// firstPercent + lastPercent + emailPercent = 1 !!!
first.prefWidthProperty().bind(tableView.widthProperty().multiply(firstPercent));
last.prefWidthProperty().bind(tableView.widthProperty().multiply(lastPercent));
email.prefWidthProperty().bind(tableView.widthProperty().multiply(emailPercent));
TableView 高度:
tableView.prefHeightProperty().bind(content.heightProperty());
其中 content
是 VBox
的引用
我已经使用 scenebuilder 在 javafx 中创建了 TableView。它在小 window 中看起来很棒,但是当我将其全屏显示时,它不会调整高度,而只会调整宽度。它还显示了一个我没有创建的额外空列。所以请帮助我。我刚刚调用了using main.java class的fxml文件。
The UI I created in SceneBuilder
The Window after full screen with extra unwanted column
您可以使用绑定解决这些问题:
列宽:
如果你想平分那么:
first.prefWidthProperty().bind(tableView.widthProperty().divide(3)); last.prefWidthProperty().bind(tableView.widthProperty().divide(3)); email.prefWidthProperty().bind(tableView.widthProperty().divide(3));
或者不使用
divide(3)
,您可以设置任何除法,例如:40% 40% 20%喜欢:
double firstPercent = 0.4; double lastPercent = 0.4; double emailPercent = 0.2; // firstPercent + lastPercent + emailPercent = 1 !!! first.prefWidthProperty().bind(tableView.widthProperty().multiply(firstPercent)); last.prefWidthProperty().bind(tableView.widthProperty().multiply(lastPercent)); email.prefWidthProperty().bind(tableView.widthProperty().multiply(emailPercent));
TableView 高度:
tableView.prefHeightProperty().bind(content.heightProperty());
其中
的引用content
是VBox