这是JavaFX应用程序。有嵌套在滚动窗格内的ImageView的和图像的加载/显示之前,滚动条是可见的。然而,当用户上传图像或点击/放大在图像上,则滚动条消失。这使得只有图像可见的部分。
我是一个非常新的开发人员,所以我可能使用了错误的方法来调整图像大小。我也可能会被调用了错误的对象上的方法(在这种情况下,ImageView的本身时,没有画上它的图像对象采取行动)。
下面是缩放方法我建:
// a method that allows user to zoom in and out on the image
@FXML
private void zoomImage(MouseEvent event) {
if (imageDisplay != null) {
if (imageDisplay.getScaleX() == 1.0 & imageDisplay.getScaleY()
== 1.0) {
imageDisplay.setScaleX(3.0);
imageDisplay.setScaleY(3.0);
} else {
imageDisplay.setScaleX(1.0);
imageDisplay.setScaleY(1.0);
}
} else {
return;
}
}
(下面是ImageView的和滚动窗格,这两者都是在一个垂直框的FXML)
<ScrollPane>
<content>
<ImageView fx:id="imageDisplay" fitHeight="300.0" fitWidth="650.0"
onDragDropped="#handleImageDrop" onDragOver="#handleImageDrag"
onMouseClicked="#zoomImage" pickOnBounds="true" preserveRatio="true" />
</content>
</ScrollPane>
我期望图像上传和放大后的滚动条仍然可见。
您可以通过添加hbarPolicy="ALWAYS" vbarPolicy="ALWAYS">
默认设置滚动条一如既往从FXML可见或不特定设置为AS_NEEDED
这就是为什么他们可能不被显示出来
防爆。
<ScrollPane hbarPolicy="ALWAYS" vbarPolicy="ALWAYS">
<content>
<ImageView fx:id="imageDisplay" fitHeight="300.0" fitWidth="650.0"
onDragDropped="#handleImageDrop" onDragOver="#handleImageDrag"
onMouseClicked="#zoomImage" pickOnBounds="true" preserveRatio="true" />
</content>
</ScrollPane>
另外,您可以与示例代码做
scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS);