我正在制作一个基本的骰子应用程序,我想在FlowPane中显示骰子结果,因为它会自动调整“列”,因为窗口的大小/水平调整大小 . 这个解决方案的问题是结果需要是可滚动的,并且ScrollPane的性能在Android上的Gluon中似乎完全没有用 .

目前,对于桌面版(常规JavaFX),我在滚动窗格中使用FlowPane,而对于移动版本,我使用CharmListView . 但我也希望能够在移动设备上使用性能良好的网格 .

我希望能够使右侧的图像更像左侧的图像,而不会破坏移动设备上的滚动性能 .
Desktop version is on the left, mobile version on the right

有没有人知道任何工具来做到这一点,而不必获得窗口的宽度,计算我可以有多少骰子列,并用计算出的列数填充CharmListView与HBoxes?

我的项目中的所有东西都是Gluon 3.我想知道它是否只有一堆图像框有问题 .

我的代码大致形如下:

private Image image1 = new Image("/Dice/one.png");
private Image image2 = new Image("/Dice/two.png");
private Image image3 = new Image("/Dice/three.png");
private Image image4 = new Image("/Dice/four.png");
private Image image5 = new Image("/Dice/five.png");
private Image image6 = new Image("/Dice/six.png");

ArrayList<Image> images = new ArrayList<>();
 images.add(image1);
 images.add(image2);
 images.add(image3);
 images.add(image4);
 images.add(image5);
 images.add(image6);

 FlowPane pane = new FlowPane();
 pane.prefWidthProperty().bind(widthProperty());
 ScrollPane scrollPane = new ScrollPane(pane);
 scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);

 for(int i = 0; i < 1000; i++) {
     pane.getChildren().add(new ImageView(images.get(random.nextInt(6))));
    }

 setCenter(scrollPane);'

这都在我的基本视图类中 . 性能绝对可怕,即使只有约100个骰子 . 我主要是为桌面战争游戏制作这个游戏,而且我扮演一个部落军队...所以超过100个骰子对我来说并不少见 . 我所做的设备也相当高端:三星Galaxy S7和Nexus 9 .