我有一组节点。添加的第一个节点是一个< code>ImageView。则该组被设置为可滚动窗格的内容子节点。该组被绑定到缩放变换,以便调整该组的大小。
如果添加了一个事件过滤器到可滚动窗格,以识别是否使用了CTRL和鼠标滚轮。这将创建我需要的放大和缩小操作。
问题是可滚动窗格没有根据放大或缩小组更改条形图。
下面是代码片段
Group group = new Group();
ScrollPane sp = new ScrollPane();
sp.setHbarPolicy(ScrollBarPolicy.ALWAYS);
sp.setVbarPolicy(ScrollBarPolicy.ALWAYS);
sp.setContent(group);
InputStream is = MaApplication.class.getResourceAsStream("test.jpg");
Image img = new Image(is);
ImageView viewer = new ImageView(img);
viewer.setFitWidth(600);
viewer.setPreserveRatio(true);
viewer.setDisable(true);
viewer.setCache(true);
group.getChildren().add(viewer);
DoubleProperty zoomProperty = new SimpleDoubleProperty(1);
Scale scaleTransformation = new Scale();
scaleTransformation.xProperty().bind(zoomProperty);
scaleTransformation.yProperty().bind(zoomProperty);
group.getTransforms().add(scaleTransformation);
sp.addEventFilter(ScrollEvent.SCROLL, new EventHandler<ScrollEvent>() {
@Override
public void handle(ScrollEvent event) {
if (event.isControlDown() && event.getDeltaY() > 0) {
zoomProperty.set(zoomProperty.get() * 1.1);
} else if (event.isControlDown() && event.getDeltaY() < 0) {
zoomProperty.set(zoomProperty.get() / 1.1);
}
}
});
我不想使用StackPane
实例,因为它在不同的示例中使用。应该使用<code>组
ScrollPane
使用布局绑定
属性来确定大小,而不是边界在父母中
。布局边界
不包括转换。布局边界
只是应用转换之前由节点
的几何图形确定的大小。因此,ScrollPane
仍然认为该大小是未转换内容
的大小。
要解决此问题,您可以将转换应用于组
(Group
在确定其自身大小时考虑子级的转换)
// group.getTransforms().add(scaleTransformation);
viewer.getTransforms().add(scaleTransformation);
或者将< code >内容包装在另一个< code >组中
sp.setContent(new Group(group));
如果要向组
中添加多个节点,则应使用第二种方法。
问题我如何可以嵌入这个应用程序到SPlitPane,在左边将是另一个面板。 不幸的是,代码导致了错误的坐标,
我希望能够向下滚动动态生成的电影列表。我尝试添加滚动窗格。 我在页面的开头有一个导航栏,中间有一个包含所有电影的jpanel。 您可以使用以下代码重新创建此示例: 我想做的是用我的鼠标滚轮向下滚动这个电影列表,而不看任何滚动条。它现在看起来应该和现在一模一样,但我希望能够向下滚动,看到所有的电影。 我不知道为什么它不起作用,这就是为什么我在这里问,希望有人能向我解释我做错了什么。
我总是很难让布局与一起工作。我肯定我错过了什么。基本上,我有一个由并排的两列组成的网页。右边的列包含一个固定宽度为的正方形。左边的列应该是可扩展的。由两列组成的页面内容的最大宽度应为400px。当屏幕宽度在和之间时,左边的列应该缩小,但右边的列应该总是。 问题是左列中有一些文本由一个没有空格的长单词组成。这个词恰好是一个URL,但它可能是任何东西,只要它没有任何空格。它似乎可以防止左列收缩。我尝试
问题内容: 当内容的高度增加时,有什么方法可以自动向下滚动ScrollPane控件?例如,我在屏幕底部(在ScrollPane内部)有一个TitledPane,当我展开它时,我希望ScrollPane向下滚动,以便可以看到TitledPane的全部内容。 问题答案: 您可以结合使用和和来实现该行为 第一个是获取titlePane的坐标,第二个是设置scrollPane的垂直栏位置。请注意,它的范围
主要内容:创建滚动条,滚动事件类经常带有一个可滚动的窗格。 滚动条有四个区域: 拇指 右按钮或向下按钮 左按钮或向上按钮 跟踪 上面的代码生成以下结果。 创建滚动条 以下代码使用其默认构造函数创建滚动条。 和方法定义滚动条表示的最小值和最大值。方法设置滚动的当前值,也设置拇指的位置。 当用户移动缩略图时,滚动条的值会更改。默认情况下,滚动条水平定向。我们可以使用方法设置垂直方向。 我们可以单击水平滚动条的左和右按钮或者向上和向
我正在尝试获取一些关于组件的信息,这些组件按标准包含在中。特别是我对阅读水平的感兴趣。我怎么参考?