滑塊是JavaFX中的控件,用於顯示連續範圍或離散範圍的有效數字選擇,並允許用戶與控件進行交互。滑塊用旋鈕呈現為垂直或水平條,用戶可以滑動以指示所需的值。滑塊也可以帶有刻度線和標簽,以指示沿條的間隔。
滑塊的三個基本變量是最小值,最大值和值。該值應始終是在最小值和最大值定義的範圍內的數字。最小值應始終小於最大值。最小默認為0,最大默認為100。
該類的構造函數:
- Slider():創建一個默認的Slider實例。
- Slider(double min, double max, double value):使用指定的滑塊最小值,最大值和當前值構造一個Slider控件。
常用方法:
方法 | 描述 |
---|---|
adjustValue(double newValue) | 調整值以匹配newValue。 |
decrement() | 以blockIncrement減值,以最大值為界。 |
getBlockIncrement() | 獲取屬性blockIncrement的值。 |
getMax() | 獲取屬性max的值。 |
getMin() | 獲取屬性min的值。 |
getMajorTickUnit() | 獲取屬性majorTickUnit的值。 |
getMinorTickCount() | 獲取屬性minorTickCount的值。 |
getValue() | 獲取屬性值的值。 |
increment() | 以blockIncrement為單位遞增值,以最大值為界。 |
setBlockIncrement(double value) | 設置屬性blockIncrement的值。 |
setMajorTickUnit(double value) | 設置屬性majorTickUnit的值。 |
setMax(double value) | 設置屬性max的值。 |
setMin(double value) | 設置屬性min的值。 |
setMinorTickCount(int value) | 設置屬性minorTickCount的值。 |
setValue(double value) | 設置屬性值的值。 |
setValueChanging(boolean value) | 設置屬性valueChanging的值。 | setShowTickMarks(boolean value) | 設置屬性showTickMarks的值。 |
setShowTickLabels(boolean value) | 設置屬性showTickLabels的值。 | isShowTickLabels() | 獲取屬性showTickLabels的值。 |
isShowTickMarks() | 獲取屬性showTickMarks的值。 |
以下示例程序旨在說明Slider類的用法:
- 實現Slider類的簡單Java程序:在此程序中,我們將創建一個組和場景。將場景添加到框架。然後,創建一個Slider並將其添加到框架。現在啟動應用程序。
// Java program to implement the Slider Class import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Slider; import javafx.stage.Stage; public class SliderExample extends Application { public void start(Stage stage) { // creating group Group root = new Group(); Scene scene = new Scene(root, 600, 400); // set Scene to the stage stage.setScene(scene); // set title for the frame stage.setTitle("Slider Sample"); // create slider Slider slider = new Slider(); // add slider to the frame root.getChildren().add(slider); stage.show(); } // Main Method public static void main(String[] args) { // launch the application launch(args); } }
輸出:
- 通過使用TickMarks和TickLabels實現Slider類的Java程序:在此程序中,我們將創建一個組和場景。將場景添加到框架。創建具有指定的最小值,最大值和值的滑塊。啟用標記和標簽。用指定的值設置MajorTickUnit。將滑塊添加到框架並顯示它。
// Java program to implement Slider class // by using TickMarks and TickLabels import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Slider; import javafx.stage.Stage; public class SliderExample extends Application { public void start(Stage stage) { Group root = new Group(); // create a Scene Scene scene = new Scene(root, 600, 400); // add Scene to the frame stage.setScene(scene); // set title of the frame stage.setTitle("Slider Sample"); // Creates a slider Slider slider = new Slider(0, 1, 0.5); // enable the marks slider.setShowTickMarks(true); // enable the Labels slider.setShowTickLabels(true); // set Major tick unit slider.setMajorTickUnit(0.25f); // sets the value of the property // blockIncrement slider.setBlockIncrement(0.1f); root.getChildren().add(slider); // display stage.show(); } // Main Method public static void main(String[] args) { // Launch the application launch(args); } }
輸出:
- 使用ChangeListener實現Slider類的Java程序:在此程序中,我們將創建一個Label並設置文本的顏色。創建一個滑塊並設置其最小值,最大值和值。啟用TickLabels和TickMarks。設置屬性blockIncrement的值。 setBlockIncrement()方法定義用戶單擊軌道時拇指移動的距離。添加ChangeListener,在移動滑塊時,亮度變化的值將顯示在標簽中。創建一個VBox並添加到框架。創建場景並轉到框架。最後,啟動應用程序。
// Java program to implement Slider Class // using ChangeListener import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.Slider; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.stage.Stage; public class SliderExample extends Application { public void start(Stage stage) { // create label Label label = new Label("Select the Brightness"); Label l = new Label(" "); // set the color of the tesxt l.setTextFill(Color.BLACK); // create slider Slider slider = new Slider(); // set the value of property min, // max and value slider.setMin(0); slider.setMax(100); slider.setValue(80); // enable TickLabels and Tick Marks slider.setShowTickLabels(true); slider.setShowTickMarks(true); slider.setBlockIncrement(10); // Adding Listener to value property. slider.valueProperty().addListener( new ChangeListener<Number>() { public void changed(ObservableValue <? extends Number > observable, Number oldValue, Number newValue) { l.setText("value:" + newValue); } }); // create a VBox VBox root = new VBox(); root.setPadding(new Insets(20)); root.setSpacing(10); root.getChildren().addAll(label, slider, l); stage.setTitle("Slider Sample"); // create Scene and add to the frame Scene scene = new Scene(root, 350, 200); stage.setScene(scene); stage.show(); } // Main Method public static void main(String[] args) { // Launch Application Application.launch(args); } }
輸出:
注意:以上程序可能無法在在線IDE中運行。請使用離線編譯器。
參考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Slider.html
相關用法
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 LineTo用法及代碼示例
- JavaFX 類 VLineTo用法及代碼示例
- JavaFX 類 HLineTo用法及代碼示例
- JavaFX 類 VBox用法及代碼示例
- JavaFX 類 HBox用法及代碼示例
- JavaFX 類 ToolBar用法及代碼示例
- JavaFX 類 PieChart用法及代碼示例
- JavaFX 類 Hyperlink用法及代碼示例
- JavaFX 類 Point3D用法及代碼示例
- JavaFX 類 WebView用法及代碼示例
- JavaFX 類 ClosePath用法及代碼示例
- JavaFX 類 Background用法及代碼示例
- JavaFX 類 TitledPane用法及代碼示例
注:本文由純淨天空篩選整理自chitranayal大神的英文原創作品 JavaFX | Slider Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。