- 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 - TabPane
一个TabPane充当一个或多个Tab对象的容器。术语tab指的是显示区域顶部的部分,表示另一个网页或内容。只有当单击相应的选项卡时,网页的内容才会可见。我们可以在下图中看到三个选项卡已打开 -
JavaFX 中的 TabPane
在 JavaFX 中,名为TabPane的类表示一个选项卡窗格。要使用选项卡窗格的功能,我们需要创建一个 TabPane 类的实例,并在其中添加我们想要显示的选项卡。这些选项卡可以包含任何 JavaFX 节点作为选项卡的内容,例如标签、按钮、图像、文本字段、视频等。我们可以使用以下任何构造函数来创建一个选项卡窗格 -
TabPane() - 用于创建一个空的选项卡窗格。
TabPane(Tab tabs) - 这是 TabPane 类的参数化构造函数,它将创建一个带有指定选项卡集的新选项卡窗格。
在 JavaFX 中创建 TabPane 的步骤
要在 JavaFX 中创建 TabPane,请按照以下步骤操作。
步骤 1:创建所需数量的选项卡
如前所述,选项卡窗格包含一个或多个选项卡。因此,我们的第一步将是创建要在选项卡窗格中显示的选项卡。在这里,我们将创建三个选项卡,分别命名为 Label、Image 和 Video。在 JavaFX 中,选项卡是通过实例化名为Tab的类创建的,该类属于javafx.scene.control包。Tab 对象具有一个 text 属性,用于设置选项卡的标题。使用以下代码创建选项卡 -
// Creating a Label tab Tab tab1 = new Tab("Label"); // Creating an Image tab Tab tab2 = new Tab("Image"); // Creating a Video tab Tab tab3 = new Tab("Video");
步骤 2:设置选项卡的内容
Tab 对象有一个 content 属性,用于设置要在选项卡主体中显示的节点。对于此操作,我们使用setContent()方法。它与Tab对象一起使用,并接受 Node 对象作为其构造函数的参数,如下面的代码所示 -
// setting the Label tab tab1.setContent(new Label("This is the first tab")); // setting the Image tab tab2.setContent(imageView); // setting the Video tab tab3.setContent(vbox);
步骤 3:实例化 TabPane 类
要创建选项卡窗格,请实例化javafx.scene.control包的TabPane类,不要向其构造函数传递任何参数值,并使用getTabs()方法将所有选项卡添加到选项卡窗格中。
// Creating a TabPane TabPane tabPane = new TabPane(); // Adding all the tabs to the TabPane tabPane.getTabs().addAll(tab1, tab2, tab3);
步骤 4:启动应用程序
创建 TabPane 并向其中添加选项卡后,请按照以下步骤正确启动应用程序 -
首先,通过将 TabPane 对象作为参数值传递给其构造函数来实例化名为Scene的类。此外,将应用程序屏幕的尺寸作为可选参数传递给此构造函数。
然后,使用Stage类的setTitle()方法为舞台设置标题。
现在,使用名为Stage的类的setScene()方法将 Scene 对象添加到舞台中。
使用名为show()的方法显示场景的内容。
最后,应用程序在launch()方法的帮助下启动。
示例
在以下示例中,我们将创建一个 JavaFX 应用程序中的 TabPane。将此代码保存在名为JavafxtabsDemo.java的文件中。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.stage.Stage; import java.io.File; import javafx.scene.layout.VBox; import javafx.scene.layout.HBox; import javafx.scene.control.Button; import javafx.geometry.Pos; public class JavafxtabsDemo extends Application { @Override public void start(Stage stage) { // Creating a Label tab Tab tab1 = new Tab("Label"); tab1.setContent(new Label("This is the first tab")); // Creating an Image tab Tab tab2 = new Tab("Image"); Image image = new Image("tutorials_point.jpg"); ImageView imageView = new ImageView(image); tab2.setContent(imageView); // Creating a Video tab Tab tab3 = new Tab("Video"); // Passing the video file to the File object File videofile = new File("sampleTP.mp4"); // creating a Media object from the File Object Media videomedia = new Media(videofile.toURI().toString()); // creating a MediaPlayer object from the Media Object MediaPlayer mdplayer = new MediaPlayer(videomedia); // creating a MediaView object from the MediaPlayer Object MediaView viewmedia = new MediaView(mdplayer); //setting the fit height and width of the media view viewmedia.setFitHeight(350); viewmedia.setFitWidth(350); // creating video controls using the buttons Button pause = new Button("Pause"); Button resume = new Button("Resume"); // creating an HBox HBox box = new HBox(20); box.setAlignment(Pos.CENTER); box.getChildren().addAll(pause, resume); // function to handle play and pause buttons pause.setOnAction(act -> mdplayer.pause()); resume.setOnAction(act -> mdplayer.play()); // creating the root VBox vbox = new VBox(20); vbox.setAlignment(Pos.CENTER); vbox.getChildren().addAll(viewmedia, box); tab3.setContent(vbox); // Creating a TabPane TabPane tabPane = new TabPane(); // Adding all the tabs to the TabPane tabPane.getTabs().addAll(tab1, tab2, tab3); // Create a Scene with the TabPane as its root Scene scene = new Scene(tabPane, 400, 400); // Set the Title on the Stage stage.setTitle("TabPane in JavaFX"); // Set the Scene on the Stage stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
要从命令提示符编译和执行保存的 Java 文件,请使用以下命令 -
javac --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.media JavafxtabsDemo.java java --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.media JavafxtabsDemo
输出
当我们执行上述代码时,它将生成一个包含三个选项卡的 TabPane,分别命名为 Label、Image 和 Video。