2

PaginationJavaFX を使用してコントロール アニメーションを無効にしようとしています。その方法に関する正確な情報は見つかりませんでした。一部のコントロールにはメソッドがあることは知っていますが、setAnimated(false)これにはありません。

CSSスタイリングまたはSkinインターフェースを介した解決策があるかもしれませんが、JavaFXは初めてです

何か案は?

4

1 に答える 1

1

JavaFX 2.2 の場合、ページネーション アニメーションを無効にするのは少し難しくなります。

ご指摘のとおり、アニメーションを無効にするパブリック API はありません (CSS には何もありません)。必要なのは、独自のスキンを作成し、そのスキンをページネーション コントロールに割り当てることです。

これを行うには、デフォルトのJavaFX 2.2 ページネーション スキンをベースとして使用し、アニメーションを行わないように編集します。カスタム ページネーション スキンの名前を別のパッケージ (例: org.acme.javafx.scene.control.skin) に変更する場合、次のルールを含む CSS スタイルシートをアプリに割り当てることで、その新しいスキンを指定できます。

.pagination {
    -fx-skin: "org.acme.javafx.scene.control.skin.PaginationSkin";
}

JavaFX 2.2 ではスキン API が公開されていないため、JavaFX 8 がリリースされたときにスキン API が公開されると、変更はおそらく機能しないため、JavaFX 8 用に再コーディングする必要があります。変更が JavaFX 8 で引き続き機能しない理由はcom.sun.javafx.scene.control.skin.SkinBase、カスタム ページネーション スキンが派生する必要があるクラスが次のようなものに移動するためです。javafx.scene.control.skin.SkinBaseパブリック API になります。

したがって、本当にそれを取り除く必要がない限り、今のところページネーション アニメーションを使用することをお勧めします。

現在、JavaFX ランタイム イシュー トラッカーに対して、ページネーション コントロールでのアニメーションの無効化を許可するリクエストがあります。RT-26439 ページネーション: ページめくりのアニメーションは無効にする必要があります を参照してください。

于 2013-01-05T02:32:59.900 に答える