滚动条包含附加到可滚动窗格的拇指,左右按钮。使用此功能,您可以上下滚动窗格(附加到窗格)。
在JavaFX中,javafx.scene.control.ScrollBar表示滚动条。您可以创建一个实例化此类的滚动条。通常,滚动条与其他控件关联,例如ScrollPane,ListView等。
名为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); } }
输出结果