JavaFX滚动条是一种用于控制内容的可视化元素,它可以帮助用户在大量内容中快速浏览和导航。JavaFX滚动条可以在JavaFX应用程序中使用,以便在多个面板之间进行快速浏览和导航。
JavaFX滚动条有两种不同的类型:水平滚动条和垂直滚动条。水平滚动条位于内容的底部,而垂直滚动条位于内容的右侧。当内容超出可视区域时,这两种滚动条都会显示出来,以便用户能够浏览所有内容。
使用JavaFX滚动条非常简单,只需要将ScrollPane对象作为根元素即可。ScrollPane对象允许开发人员将他们想要显示的内容作为子元素传递到ScrollPane中。当ScrollPane中的内容大于ScrollPane的大小时,就会显示出水平或垂直滚动条。
ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(node); // node is the content to be displayed in the ScrollPane scrollPane.setHbarPolicy(ScrollBarPolicy.AS_NEEDED); // horizontal scroll bar policy scrollPane.setVbarPolicy(ScrollBarPolicy.AS_NEEDED); // vertical scroll bar policy
此外,开发人员还可以使用JavaFX API中的Slider对象创建一个独立的滑块(slider)。Slider对象是一个特殊的UI元素,允许用户在一个特定领域中选择一个数字或者一个数字集合。Slider对象也有水平和垂直版本,开发人员可以根据需要使用不同版本创建独立的slider UI元素。
Slider slider = new Slider(); // create a slider slider.setMin(0); // set minimum value of the slider slider.setMax(100); // set maximum value of the slider
总之,JavaFX 提供了很多高效、易于使用的UI工具集,包含了很多高效、易于使用的UI工具集;而 JavaFX 滚
ScrollBar类经常带有一个可滚动的窗格。
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; 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(); root.getChildren().add(s1); stage.show(); } public static void main(String[] args) { launch(args); } }
滚动条有四个区域:
上面的代码生成以下结果。
以下代码使用其默认构造函数创建滚动条。
ScrollBar sc = new ScrollBar();
setMin和setMax方法定义滚动条表示的最小值和最大值。
setValue方法设置滚动的当前值,也设置拇指的位置。
sc.setMin(0); sc.setMax(100); sc.setValue(50);
当用户移动缩略图时,滚动条的值会更改。
默认情况下,滚动条水平定向。我们可以使用 setOrientation
方法设置垂直方向。
我们可以单击左右按钮的水平滚动条或向上和向下按钮垂直滚动条滚动一个单位增量。UNIT_INCREMENT属性设置此值。
单击轨道可使滚动条移动块增量。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; 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); } }
上面的代码生成以下结果。
以下代码为滚动事件从滚动条添加事件处理程序。
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); } }
上面的代码生成以下结果。
Java日期时间 -Java本地日期时间本地日期 LocalDate 类表示没有时间或时区的日期。当时间和时区相关时使用LocalDate。 LocalDate...
Java日期时间 -Java Chrono现场单元ChronoFieldChronoField枚举定义了一组标准字段,如 AMPM_OF_DAY,DAY_OF_MONTH,DAY_OF_WEEK...
Java日期时间 -Java日期和时间解析由 DateTimeFormatter 处理的解析是从字符串创建日期时间对象。用于格式化的相同符号用作解析...