1

上へのスクロールと下へのスクロールに関連するイベントは何ですか?上下にスクロールしてJFXpanelを上下に移動するのではなく、上下に2つのボタンを作成したいと思います。これらのボタンに関連付ける必要があるイベントは何ですか?

4

1 に答える 1

0

ScrollPane要素とvvalueプロパティを使用します。これは、doubleデフォルトでとの間の値で0.0あり1.0、それぞれ上と下にスクロールされた状態を表します。

したがって、一番下までスクロールするには:

scrollpane.setVvalue(1);

そして上にスクロールするには:

scrollpane.setVvalue(0);

ScrollPane.setVmax()およびを使用して、 vmin (デフォルトは0.0)およびvmax(デフォルトは1.0)ScrollPane.setVmin()に他の値を設定できます。

スクロールをアニメーション化するための便利な関数は次のとおりです。

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どちらの場合も、それがコントローラのフィールドであると想定しています。

1.FXMLを使用する

コントローラでメソッドを作成します。

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

コントローラの.fxmlのボタンに追加します。

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

2. JavaでのsetOnActionの使用:

button.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event)
    {
        scrollpane.setVvalue(1);
    }
});
于 2013-03-26T16:46:19.683 に答える