2017-11-25 8 views
0

ペインをスクロール可能にする方法を教えてください。私はこのように、スクロール可能な画像を作ることができています:JavaFXでペインをスクロール可能にするには

 VBox root = new VBox(); 
     ScrollPane sp = new ScrollPane(); 
     sp.setContent(new ImageView(new Image(getClass().getResourceAsStream("test.png")))); 
     root.getChildren().add(sp); 

をしかし、私はいくつかのボタンと小さなアニメーションで構成され、スクロール可能な全ウィンドウを作成しようとしていたときに、スクロールバーについて何が起こりません。スクロールバーはありません。それをどうすれば解決できますか?

ありがとうございます。

答えて

0

自分のスクロールペインに幅と高さが固定されているため、ウィンドウのサイズを変更してscroll pane自体のサイズが変更されないためです。 anchor paneを使用すると、スクロールペインのサイズがanchor paneに変更されます。

ImageView image = new ImageView(new Image("wp1951596.jpg")); 
    ScrollPane scrollPane = new ScrollPane(); 
    scrollPane.setContent(image); 
    scrollPane.setPrefSize(400, 400); 
    AnchorPane.setTopAnchor(scrollPane, 0.); 
    AnchorPane.setRightAnchor(scrollPane, 0.); 
    AnchorPane.setBottomAnchor(scrollPane, 0.); 
    AnchorPane.setLeftAnchor(scrollPane, 0.); 
    rootPane.getChildren().add(scrollPane); 

また、.fxmlファイルでJavaFXを使用することをお勧めします。その後、SceneBuilderでレイアウトを作成すると、すべてのものがより簡単かつ迅速に作成されます。

+0

こんにちは、ご協力ありがとうございます。今では入れ子のコンテナの規則が何であるか知っています。今、私はいつもAnchorPaneでscrollPaneのスクロールバーを持っています。残念ながら私は別の問題に直面しています。画像を拡大/縮小すると、スクロールペインはもう機能しません。リスナーの登録が必要なので、プログラムで解決しなければならないと思います。おそらく、画像がサイズを変更するたびに、scrollPaneを更新する必要があります。それにもかかわらず、私はscreenBuilderの学習効果のためにあなたの答えを最良の答えとしてマークします。 – Toti

関連する問題