我在 JDK 1.8.0_72 的 Eclipse 中使用 JavaFX。我想在滚动窗格的背景中显示图像。我使用以下代码来执行此操作:
ScrollPane s2 = new ScrollPane();
s2.setContent(label);
s2.setStyle("-fx-background-image: url('DungeonRoomImage.png');");
这在其他对象(例如标签和网格窗格)上工作得很好,但由于某种原因在滚动窗格上不起作用,滚动窗格在中间显示覆盖图像的灰色块。如果仔细观察边界和灰色中心,您可以看到图像向外突出。
https://gyazo.com/597ce351f158c1d66c33fe301bd75feb
更改滚动窗格的背景颜色时也会出现同样的问题,但可以通过使用
解决-fx-background:
而不是:
-fx-background-color:
我尝试使用 setBackground 但呈现相同的结果
s2.setBackground(new Background(new BackgroundImage(new Image("DungeonRoomImage.png"), null, null, null, null)));
有人可以建议一种消除灰色背景的方法或解决该问题的方法吗? 背景图片应该是这样的
在滚动窗格的视口上设置背景图像。使用外部 CSS 文件:
.scroll-pane .viewport {
-fx-background-image: url('DungeonRoomImage.png');
}
使用 setStyle 你必须在 ScrollPane 中设置像 GridPane 这样的布局,设置其大小并执行类似的操作
yourGridPane.setPrefSize(100, 100);
yourGridPane.setStyle("-fx-background-image: url('DungeonRoomImage.png')");