gpt4 book ai didi

java - 与 JFXpanel 滚动条关联的事件

转载 作者:行者123 更新时间:2023-12-01 04:47:14 25 4
gpt4 key购买 nike

与向上滚动和向下滚动相关的事件有哪些?我想创建两个按钮作为顶部和向下,而不是使用上下滚动来上下移动 JFXpanel。我应该将哪些事件与这些按钮关联起来?

最佳答案

您想要使用 ScrollPane 元素和 vvalue属性,默认为 0.01.0 之间的 double 值,分别表示滚动到顶部和底部的状态。

因此,滚动到底部:

scrollpane.setVvalue(1);

滚动到顶部:

scrollpane.setVvalue(0);

您可以使用ScrollPane.setVmax()ScrollPane.setVmin()vmin 设置其他值(默认 0.0)和 vmax (默认 1.0)。

这是一个方便的函数来设置滚动动画:

public void scrollVAnimate(ScrollPane scrollPane, double duration, double toVal)
{
TimelineBuilder.create()
.keyFrames(
new KeyFrame(
Duration.millis(duration),
new KeyValue(scrollPane.vvalueProperty(), toVal)
)).build()
.play();
}

用法:

// scroll to the bottom, animated
this.scrollVAnimate(scrollpane, 300, 1);

您可以使用 FXML 或 Java 代码将这些操作分配给按钮。在这两种情况下,我们都假设 scrollpane 是 Controller 中的一个字段。

1。使用 FXML

在 Controller 中创建一个方法:

public void onBtnDownPressed(MouseEvent event)
{
this.scrollpane.setVvalue(1);
}

将其添加到 Controller 的 .fxml 中的按钮:

<Button text="Scroll to bottom" onAction="#onBtnDownPressed"></Button>

2。使用setOnAction在Java中:

button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event)
{
scrollpane.setVvalue(1);
}
});

关于java - 与 JFXpanel 滚动条关联的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15631680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com