- JavaFX 教程
- JavaFX - 首页
- JavaFX - 概述
- JavaFX 安装与架构
- JavaFX - 环境
- JavaFX - 使用 Netbeans 安装
- JavaFX - 使用 Eclipse 安装
- JavaFX - 使用 Visual Studio Code 安装
- JavaFX - 架构
- JavaFX - 应用程序
- JavaFX 2D 形状
- JavaFX - 2D 形状
- JavaFX - 绘制线条
- JavaFX - 绘制矩形
- JavaFX - 绘制圆角矩形
- JavaFX - 绘制圆形
- JavaFX - 绘制椭圆
- JavaFX - 绘制多边形
- JavaFX - 绘制折线
- JavaFX - 绘制三次贝塞尔曲线
- JavaFX - 绘制二次贝塞尔曲线
- JavaFX - 绘制弧线
- JavaFX - 绘制 SVGPath
- JavaFX 2D 对象的属性
- JavaFX - 描边类型属性
- JavaFX - 描边宽度属性
- JavaFX - 描边填充属性
- JavaFX - 描边属性
- JavaFX - 描边连接属性
- JavaFX - 描边斜接限制属性
- JavaFX - 描边端点属性
- JavaFX - 平滑属性
- JavaFX 路径对象
- JavaFX - 路径对象
- JavaFX - LineTo 路径对象
- JavaFX - HLineTo 路径对象
- JavaFX - VLineTo 路径对象
- JavaFX - QuadCurveTo 路径对象
- JavaFX - CubicCurveTo 路径对象
- JavaFX - ArcTo 路径对象
- JavaFX 颜色和纹理
- JavaFX - 颜色
- JavaFX - 线性渐变图案
- JavaFX - 径向渐变图案
- JavaFX 文本
- JavaFX - 文本
- JavaFX 视觉效果
- JavaFX - 视觉效果
- JavaFX - 颜色调整效果
- JavaFX - 颜色输入效果
- JavaFX - 图像输入效果
- JavaFX - 混合效果
- JavaFX - 泛光效果
- JavaFX - 辉光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 运动模糊效果
- JavaFX - 反射效果
- JavaFX - 棕褐色效果
- JavaFX - 阴影效果
- JavaFX - 投影效果
- JavaFX - 内阴影效果
- JavaFX - 照明效果
- JavaFX - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- JavaFX - 位移映射
- JavaFX - 透视变换
- JavaFX 动画
- JavaFX - 动画
- JavaFX - 旋转过渡
- JavaFX - 缩放过渡
- JavaFX - 平移过渡
- JavaFX - 淡入淡出过渡
- JavaFX - 填充过渡
- JavaFX - 描边过渡
- JavaFX - 顺序过渡
- JavaFX - 并行过渡
- JavaFX - 暂停过渡
- JavaFX - 路径过渡
- JavaFX 图像
- JavaFX - 图像
- JavaFX 3D 形状
- JavaFX - 3D 形状
- JavaFX - 创建立方体
- JavaFX - 创建圆柱体
- JavaFX - 创建球体
- 3D 对象的属性
- JavaFX - 剔除面属性
- JavaFX - 绘制模式属性
- JavaFX - 材质属性
- JavaFX 事件处理
- JavaFX - 事件处理
- JavaFX - 使用便捷方法
- JavaFX - 事件过滤器
- JavaFX - 事件处理程序
- JavaFX UI 控件
- JavaFX - UI 控件
- JavaFX - ListView
- JavaFX - Accordion
- JavaFX - ButtonBar
- JavaFX - ChoiceBox
- JavaFX - HTMLEditor
- JavaFX - MenuBar
- JavaFX - Pagination
- JavaFX - ProgressIndicator
- JavaFX - ScrollPane
- JavaFX - Separator
- JavaFX - Slider
- JavaFX - Spinner
- JavaFX - SplitPane
- JavaFX - TableView
- JavaFX - TabPane
- JavaFX - ToolBar
- JavaFX - TreeView
- JavaFX - Label
- JavaFX - CheckBox
- JavaFX - RadioButton
- JavaFX - TextField
- JavaFX - PasswordField
- JavaFX - FileChooser
- JavaFX - Hyperlink
- JavaFX - Tooltip
- JavaFX - Alert
- JavaFX - DatePicker
- JavaFX - TextArea
- JavaFX 图表
- JavaFX - 图表
- JavaFX - 创建饼图
- JavaFX - 创建折线图
- JavaFX - 创建面积图
- JavaFX - 创建柱状图
- JavaFX - 创建气泡图
- JavaFX - 创建散点图
- JavaFX - 创建堆叠面积图
- JavaFX - 创建堆叠柱状图
- JavaFX 布局窗格
- JavaFX - 布局窗格
- JavaFX - HBox 布局
- JavaFX - VBox 布局
- JavaFX - BorderPane 布局
- JavaFX - StackPane 布局
- JavaFX - TextFlow 布局
- JavaFX - AnchorPane 布局
- JavaFX - TilePane 布局
- JavaFX - GridPane 布局
- JavaFX - FlowPane 布局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒体
- JavaFX - 处理媒体
- JavaFX - 播放视频
- JavaFX 有用资源
- JavaFX - 快速指南
- JavaFX - 有用资源
- JavaFX - 讨论
JavaFX - ScrollPane
ScrollPane 是一种控件,它提供其内容的可滚动视口。它允许用户使用滚动条垂直或水平滚动内容。它用于显示一个大型组件或一个在屏幕视口有限时其大小可以动态更改的组件。请记住,滚动条的大小取决于组件的大小。下图显示了一个带有垂直滚动条的可滚动视口:
JavaFX 中的 ScrollPane
在 JavaFX 中,滚动窗格控件由名为 ScrollPane 的类表示。此类属于 javafx.scene.control 包。通过实例化此类,我们可以在 JavaFX 中创建 ScrollPane 控件。此类具有以下构造函数:
ScrollPane() - 它构造一个没有任何节点的 ScrollPane。
ScrollPane(Node content) - 它使用指定的节点构造一个新的 ScrollPane。
在 JavaFX 中创建 ScrollPane 的步骤
要在 JavaFX 中创建 ScrollPane,请按照以下步骤操作。
步骤 1:创建要在 ScrollPane 中显示的节点
在 JavaFX 中,滚动窗格可以显示包含图像、文本或图表的节点。因此,实例化相应的类以创建所需的节点。这里,我们使用图像作为 ScrollPane 的内容:
// create an image view ImageView imageTp = new ImageView(new Image("tutorials_point.jpg"));
步骤 2:实例化 ScrollPane 类
在 start() 方法内部实例化名为 ScrollPane 的类。此操作将为 ImageView 创建一个 ScrollPane。
// create a scroll pane ScrollPane newscroll = new ScrollPane();
步骤 3:设置 ScrollPane 的内容
要设置 ScrollPane 的内容,我们使用名为 setContent() 的方法。将 ImageView 对象作为参数值传递给此方法。
// set the content of the scroll pane newscroll.setContent(imageTp);
步骤 4:启动应用程序
创建 ScrollPane 并设置其内容后,请按照以下步骤正确启动应用程序:
首先,通过将 ScrollPane 对象作为参数值传递给其构造函数以及应用程序屏幕的尺寸,实例化名为 Scene 的类。
然后,使用 Stage 类的 setTitle() 方法设置舞台的标题。
现在,使用名为 Stage 的类的 setScene() 方法将 Scene 对象添加到舞台。
使用名为 show() 的方法显示场景的内容。
最后,在 launch() 方法的帮助下启动应用程序。
示例
以下 JavaFX 程序演示了如何在 JavaFX 应用程序中创建 ScrollPane。将此代码保存在名为 JavafxScrollpane.java 的文件中。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.ScrollPane; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.stage.Stage; public class JavafxScrollpane extends Application { @Override public void start(Stage stage) { // creating an image view ImageView imageTp = new ImageView(new Image("tutorials_point.jpg")); // creating a scroll pane ScrollPane newscroll = new ScrollPane(); // setting the content of the scroll pane newscroll.setContent(imageTp); // creating a scene and stage Scene scene = new Scene(newscroll, 500, 300); stage.setTitle("ScrollPane in JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
要从命令提示符编译和执行保存的 Java 文件,请使用以下命令:
javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane.java java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane
输出
当我们执行上述代码时,它将生成以下输出。
在 JavaFX 中禁用 ScrollPane 的垂直滚动条
ScrollPane 类提供两种方法,即 setHbarPolicy() 和 setVbarPolicy(),用于指定何时使用滚动条。要启用滚动条,我们将 ScrollBarPolicy.ALWAYS 属性传递给相应的方法,要禁用,我们使用 ScrollBarPolicy.NEVER 属性。
示例
在以下示例中,我们将禁用 ScrollPane 的垂直滚动条。将此代码保存在名为 JavafxScrollpane.java 的文件中。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.ScrollPane; import javafx.scene.control.ScrollPane.*; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.stage.Stage; public class JavafxScrollpane extends Application { @Override public void start(Stage stage) { // creating an image view ImageView imageTp = new ImageView(new Image("tutorials_point.jpg")); // creating a scroll pane ScrollPane newscroll = new ScrollPane(); // disbaling the vertical scroll bar newscroll.setHbarPolicy(ScrollBarPolicy.ALWAYS); newscroll.setVbarPolicy(ScrollBarPolicy.NEVER); // setting the content of the scroll pane newscroll.setContent(imageTp); // creating a scene and stage Scene scene = new Scene(newscroll, 500, 300); stage.setTitle("ScrollPane in JavaFX"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
通过使用以下命令从命令提示符编译和执行保存的 Java 文件:
javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane.java java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane
输出
执行上述代码后,它将生成以下输出。