鍍金池/ 教程/ Java/ JavaFX滾動(dòng)條
安裝e(fx)clipse到Eclipse (JavaFX工具)
JavaFX屬性
JavaFX文本域(輸入框)
JavaFX切換按鈕
JavaFX曲線
JavaFX教程
JavaFX菜單(Menu)
JavaFX快速入門
JavaFX復(fù)選框
JavaFX ScrollPane布局
JavaFX綁定
JavaFX顏色選擇器(ColorPicker)
JavaFX進(jìn)度指示器
JavaFX按鈕
JavaFX TitledPane布局
JavaFX圓弧
JavaFX開發(fā)環(huán)境安裝配置
在Eclipse安裝JavaFX Scene Builder
JavaFX路徑
JavaFX VBox
JavaFX線條
JavaFX漸變顏色
JavaFX集合
JavaFX BorderPane布局
JavaFX DatePicker
JavaFX單選按鈕
JavaFX滾動(dòng)條
JavaFX矩形橢圓
JavaFX GridPane布局
JavaFX HBox
JavaFX進(jìn)度條
JavaFX多邊形折線
JavaFX超鏈接
JavaFX密碼字段
JavaFX Accordion布局
JavaFX概述和簡(jiǎn)介
JavaFX選擇框
JavaFX文本
JavaFX顏色
JavaFX文件選擇器(FileChooser)
JavaFX標(biāo)簽
JavaFX FlowPane布局

JavaFX滾動(dòng)條

ScrollBar類經(jīng)常帶有一個(gè)可滾動(dòng)的窗格。

滾動(dòng)條有四個(gè)區(qū)域:

  • 拇指
  • 右按鈕或向下按鈕
  • 左按鈕或向上按鈕
  • 跟蹤

上面的代碼生成以下結(jié)果。

創(chuàng)建滾動(dòng)條

以下代碼使用其默認(rèn)構(gòu)造函數(shù)創(chuàng)建滾動(dòng)條。

ScrollBar sc = new ScrollBar();

setMin()setMax()方法定義滾動(dòng)條表示的最小值和最大值。setValue()方法設(shè)置滾動(dòng)的當(dāng)前值,也設(shè)置拇指的位置。

sc.setMin(0);
sc.setMax(100);
sc.setValue(50);

當(dāng)用戶移動(dòng)縮略圖時(shí),滾動(dòng)條的值會(huì)更改。默認(rèn)情況下,滾動(dòng)條水平定向。我們可以使用setOrientation()方法設(shè)置垂直方向。

我們可以單擊水平滾動(dòng)條的左和右按鈕或者向上和向下按鈕,垂直滾動(dòng)條以單位增量滾動(dòng)。 UNIT_INCREMENT屬性設(shè)置此值。
單擊軌道可使?jié)L動(dòng)條移動(dòng)塊增量。BLOCK_INCREMENT屬性定義此值。

import javafx.application.Application;
import javafx.geometry.Orientation;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ScrollBar;
import javafx.stage.Stage;
/*  w  ww. j  a v  a 2  s. c om*/
public class Main extends Application {
    @Override
    public void start(Stage stage) {
        Group root = new Group();
        Scene scene = new Scene(root, 500, 200);
        stage.setScene(scene);

        ScrollBar s1 = new ScrollBar();
        s1.setMax(500);
        s1.setMin(0);
        s1.setValue(100);
        s1.setUnitIncrement(30);
        s1.setBlockIncrement(35);

        s1.setOrientation(Orientation.VERTICAL);

        root.getChildren().add(s1);
        stage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

上面的代碼生成以下結(jié)果。

滾動(dòng)事件

以下代碼為滾動(dòng)事件從滾動(dòng)條添加事件處理程序。

import javafx.application.Application;
import javafx.beans.value.ObservableValue;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ScrollBar;
import javafx.stage.Stage;

public class Main extends Application {
    @Override
    public void start(Stage stage) {
        Group root = new Group();
        Scene scene = new Scene(root, 500, 200);
        stage.setScene(scene);

        ScrollBar s1 = new ScrollBar();

        s1.valueProperty().addListener((ObservableValue<? extends Number> ov, 
            Number old_val, Number new_val) -> {
                System.out.println(-new_val.doubleValue());
        });          
        root.getChildren().add(s1);
        stage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

上面的代碼生成以下結(jié)果。