如何在JavaFX中向图像添加滚动条?

滚动条包含附加到可滚动窗格的拇指,左右按钮。使用此功能,您可以上下滚动窗格(附加到窗格)。

在JavaFX中,javafx.scene.control.ScrollBar表示滚动条。您可以创建一个实例化此类的滚动条。通常,滚动条与其他控件关联,例如ScrollPane,ListView等。

将ScrollBar设置为图像

名为value的属性指定由滚动条表示的当前值,您可以使用addListener()方法将侦听器添加到此属性。

要将滚动条附加到图像-

  • 创建一个代表所需图像的ImageView对象。

  • 创建一个窗格来保存图像视图,例如滚动窗格,vBox等。

  • 将侦听器添加到滚动条的value属性。

  • 根据滚动条的方向,使用滚动条新值的负数设置布局窗格的X / Y布局。

示例

public class ScrollBarActionExample extends Application {

   public void start(Stage stage) throws FileNotFoundException {

      //Label for education

      Label label = new Label("Educational qualification:");

      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);

      label.setFont(font);

      //list View for educational qualification

      ScrollBar scroll = new ScrollBar();

      scroll.setMin(0);

      scroll.setOrientation(Orientation.VERTICAL);

      scroll.setPrefHeight(200);

      scroll.setPrefWidth(20);

      //creating the image object

      InputStream stream = new FileInputStream("D:\\images\\elephant.jpg");

      Image image = new Image(stream);

      //Creating the image view

      ImageView imageView = new ImageView();

      //Setting image to the image view

      imageView.setImage(image);

      //Setting the image view parameters

      imageView.setX(5);

      imageView.setY(0);

      imageView.setFitWidth(595);

      imageView.setPreserveRatio(true);

      //Adding the toggle button to the pane

      VBox vBox = new VBox(5);

      vBox.getChildren().addAll(imageView);

      scroll.valueProperty().addListener((ObservableValue<? extends Number> ov, Number old_val, Number new_val) -> {

         vBox.setLayoutY(-new_val.doubleValue());

      });

      //Setting the stage

      Group root = new Group();

      root.getChildren().addAll(vBox, scroll);

      Scene scene = new Scene(root, 595, 200, Color.BEIGE);

      stage.setTitle("Scroll Bar Example");

      stage.setScene(scene);

      stage.show();

   }

   public static void main(String args[]){

      launch(args);

   }

}

输出结果


以上是 如何在JavaFX中向图像添加滚动条? 的全部内容, 来源链接: utcz.com/z/356418.html

回到顶部