Javafx TilePane预处理列

Javafx TilePane预处理列,javafx,Javafx,在TilePane行中生成正确数量的列时遇到问题 我试着每行有十列。我知道我忽略了显而易见的事实。所以,我需要另一双眼睛 setPrefColumns方法似乎不像我编写的那样工作 @SuppressWarnings(“未使用”) 公共类主扩展应用程序{ TilePane tp=新的TilePane(); 公共静态void main(字符串[]args){ 发射(args); } @凌驾 public void start(Stage primaryStage)引发异常{ 试一试{ primary

TilePane
行中生成正确数量的列时遇到问题

我试着每行有十列。我知道我忽略了显而易见的事实。所以,我需要另一双眼睛

setPrefColumns
方法似乎不像我编写的那样工作

@SuppressWarnings(“未使用”)
公共类主扩展应用程序{
TilePane tp=新的TilePane();
公共静态void main(字符串[]args){
发射(args);
}
@凌驾
public void start(Stage primaryStage)引发异常{
试一试{
primaryStage.SetResizeable(假);
tp.setpref列(10);
setTP();
场景=新场景(tp,800600);
初级阶段。场景(场景);
primaryStage.show();
}捕获(例外e){
e、 printStackTrace();
}
}
公共无效setTP(){
tp.setVisible(真);
int[]数={1,2,3,4,5,6,7,8,9,10};

对于(int row=0;row),您的示例TilePane的行为如下所述:

请注意,prefColumns/prefRows仅用于计算首选大小,可能不会反映实际的行数或列数,而实际的行数或列数可能会随着瓷砖面板大小的调整和瓷砖在其实际边界处的缠绕而改变

作为场景的根,其大小可填充整个宽度(在您的上下文中为800):

要使其包裹在prefColumns上,您需要将其添加到符合其内容prefWidth(f.i.a HBox)的布局中:

Scene scene = new Scene(new HBox(tp),800,600);

示例TilePane的行为与指定的相同:

请注意,prefColumns/prefRows仅用于计算首选大小,可能不会反映实际的行数或列数,而实际的行数或列数可能会随着瓷砖面板大小的调整和瓷砖在其实际边界处的缠绕而改变

作为场景的根,其大小可填充整个宽度(在您的上下文中为800):

要使其包裹在prefColumns上,您需要将其添加到符合其内容prefWidth(f.i.a HBox)的布局中:

Scene scene = new Scene(new HBox(tp),800,600);