如何在JAVAFX中创建“添加选项卡”按钮?

2024-02-14

我想创建一个按钮,单击时将在 tabPane 中创建一个新选项卡,并且始终位于所有选项卡的右侧。如果有任何示例如何做到这一点,我将不胜感激。


您的代码应该类似于下面的代码。 此示例使用 TabPane 上方的按钮。

public class TabPaneSample extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) {
        TabPane tabPane = new TabPane();

        VBox layout = new VBox(10); // VBox with spacing of 10. Button sits above TabPane
        layout.getChildren().addAll(newTabButton(tabPane), tabPane); // Adding button and TabPane to VBox

        stage.setScene(new Scene(layout));
        stage.show();
    }

    // Button that adds a new tab and selects it
    private Button newTabButton(TabPane tabPane) {
        Button addTab = new Button("Create Tab");
        addTab.setOnAction(event -> {
            tabPane.getTabs().add(new Tab("New Tab")); // Adding new tab at the end, so behind all the other tabs
            tabPane.getSelectionModel().selectLast(); // Selecting the last tab, which is the newly created one
        });
        return addTab;
    }
}

如果你希望它像在浏览器中一样,这段代码应该可以做到。 这使用末尾的空选项卡,其作用类似于按钮。您可以添加 + 等图标来代替选项卡标签中的文本。

public class TabPaneSample extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) {
        TabPane tabPane = new TabPane();

        tabPane.getTabs().add(newTabButton(tabPane));

        stage.setScene(new Scene(tabPane));
        stage.show();
    }

    // Tab that acts as a button and adds a new tab and selects it
    private Tab newTabButton(TabPane tabPane) {
        Tab addTab = new Tab("Create Tab"); // You can replace the text with an icon
        addTab.setClosable(false);
        tabPane.getSelectionModel().selectedItemProperty().addListener((observable, oldTab, newTab) -> {
            if(newTab == addTab) {
                tabPane.getTabs().add(tabPane.getTabs().size() - 1, new Tab("New Tab")); // Adding new tab before the "button" tab
                tabPane.getSelectionModel().select(tabPane.getTabs().size() - 2); // Selecting the tab before the button, which is the newly created one
            }
        });
        return addTab;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在JAVAFX中创建“添加选项卡”按钮? 的相关文章

  • 如何重命名 Workbench 中的选项卡?

    当我创建新的查询选项卡时 它被命名为 SQL File 1 或类似名称 我想重命名它以更好地识别它们 是否可以 您可以使用命名查询选项卡来注册它们 File gt Save Script 我将发布我认为相关且易于实现的功能请求
  • 向 Windows 任务栏缩略图添加按钮 JavaFX?

    这个问题已经闲置一年多了 我的问题仍然没有解决方案 我编辑此内容是为了澄清我的问题并引起人们对它的新关注 如果您使用 Windows 您可能知道将程序图标悬停在任务栏上时显示的小预览图像 缩略图 某些程序 例如 Spotify Git 扩展
  • 在 TabLayout 中选择自定义选项卡文本颜色

    我正在尝试创建自定义选项卡布局 因为我需要在旁边设置徽章计数器TextView 我已将 id 设置为 android id text1正如文档中提到的 当选择我的自定义选项卡时 TextView 颜色不会自动更改 如何以正确且干净的方式实现
  • 在Python中解析制表符分隔的文件

    我正在尝试在 Python 中解析一个制表符分隔的文件 其中与行开头分开的 k 个制表符的数字应该放入第 k 个数组中 除了逐行读取并执行简单解决方案将执行的所有明显处理之外 是否有内置函数可以执行此操作 或者有更好的方法 您可以使用the
  • 新的时间轴,如按钮行为

    在新样式的页面选项卡上 赞 按钮不再刷新页面 这打破了 Like gates 的现有工作流程 即在服务器上检查签名的请求 就像页面一样 页面刷新 繁荣 选项卡现在更新为 喜欢 状态 当用户单击新的 赞 按钮时 是否会触发任何类型的事件 或者
  • JavaFX TabPane - 每个选项卡一个控制器

    我是 Fx 新手 我有一个带有 10 个选项卡的 TabPanel 每个选项卡都有很多控件 图表 按钮等 我想要的是为每个选项卡分配一个控制器 SceneBuilder 只让我为整个视图分配一个控制器 我的意思是 只有顶部面板 根 具有 控
  • 如何使用 Java 11 和 JavaFX 11 运行 ControlsFX 示例应用程序

    ControlFX 网站 http fxexperience com controlsfx says 如果您想使用 ControlsFX 示例应用程序 只需 下载 ControlsFX 版本并在上运行以下命令 命令提示符 请务必将 替换为实
  • FXML 文档拒绝导入其他 fxml 文件

    我的程序有一个主要的 FXML 文档 其中包含TabPane 对于每个选项卡 我希望它有自己的控制器和 fxml 文件 当我尝试将外部 fmxl 文件包含到主 fxml 文档中时 我的程序拒绝运行 这是我的主要 FXML 文档 这是我的 j
  • JavaFX TextField cancelEdit 未按预期工作

    I have a TextField https docs oracle com javase 8 javafx api javafx scene control TextField html and I would like the co
  • JavaFX - Outlook 附件 - DnD

    您好 我需要一个 DnD 解决方案来将 Outlook 邮件附件拖到堆栈窗格中 JavaFX Outlook 2010 stackpaneDragAndDropZone setOnDragOver DragEvent event gt Dr
  • JavaFx 中装饰且不可移动的舞台

    我想在 JavaFx 中创建一个装饰舞台 它也将不可移动 我正在从另一个控制器类创建这个阶段 我能够创造和展示舞台 但它是自由移动的 我怎样才能创建这个 非常感谢帮助和建议 我把打开新关卡的方法贴出来 private void addRec
  • 无法解析符号“javafx.scene.web”

    使用Intellij 2021 3 2 JavaFX版本 11 0 2 1 我正在尝试将 JavaFX WebView 添加到我的应用程序中 我的导入语句无法编译 import javafx scene web 编译错误 java 找不到符
  • 在 JavaFX 中搜索 TableView 列表

    如何在 TableWie 中查找记录 例如通过 ID 并选择创建的行并将其放在 Java 8 JavaFX 中的屏幕中间 您可以使用以下方式搜索元素 int searchId table getItems stream filter ite
  • JavaFX MediaPlayer - 音乐在 10 秒后停止

    这是代码 就像标题所说的 音乐在10秒后停止 我在vlc或其他程序中正常播放该文件 持续了5分钟多 public void music String bip src data fjordmusic mp3 Media hit new Med
  • 如何在 JavaFX 中连接可观察列表?

    我所说的串联是指获得一个新列表 该列表侦听所有串联部分的更改 方法的目的是什么FXCollections concat ObservableList
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • Javafx 组合框不会在实时更改时更新下拉列表大小?

    我正在使用 Javafx v8 0 25 b18 我出现的问题是动态组合框的下拉列表的大小不会改变 所以如果我最初在下拉列表中有两个项目 那么下拉列表大小将适合两个项目 但如果我现在用以下内容填充动态组合框三个项目 然后我在里面得到一个小滚
  • 如何从具有重复条目的过滤列表中删除特定索引?

    我有一个TableView由一个支持SortedList包裹一个FilteredList包裹一个ObservableList 过滤列表中的项目可以重复 也就是说 有可能是这样的情况list get 5 list get 10 用户可以选择行
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有

随机推荐

  • YouTube API v3 上传速度

    我一直在使用 YouTube API v3 进行一些测试 使用以下命令上传 Apache 服务器 在 Virtuozzo 上运行 CENTOS 6 7 x86 64 的 VPS 2GB RAM 和大量 CPU 上现有的视频文件提供断点续传脚
  • 离线语音识别时出现错误 ERROR_RECOGNIZER_BUSY

    我对谷歌离线语音识别进行了研究 但它在 google Nexus 5 操作系统 4 4 中工作正常 但如果我在三星 Galaxy s5 操作系统 5 0 中实现相同的版本 它无法识别并且显示此错误 8 ERROR RECOGNIZER BU
  • 需要配置哪些信息才能连接对方的Kafka

    我在网上看到了keystore和truststore证书 有人说两者之一 有人说他们两者都需要 在我的业务中 我需要支持 SSL 和 PLAIN 模式 区分使用哪种模式的基础是传入 JSON 中的 security protocol 字段是
  • 如何将 int 转换为货币?

    我正在使用Delphi 2009 我问了我的问题 但我得到的答案已经过时了 因为它无法识别Delphi2009中的StrtoFloat 我问如何将整数 例如 1900000 转换为 1 900 000 您还可以使用格式命令 由于格式需要实数
  • 我的应用程序如何修改商店的模板文件

    安装应用程序时 我需要将液体标记注入商店的主题模板 我知道有 ScriptTags 但它们加载脚本 我知道脚本可以更改页面的 DOM 但我需要将我的液体安装到产品详细信息页面 是否可以 我会将您的 Liquid 添加为新的片段资产 然后 可
  • 合并两个 EF 查询,无法将 System.Data.Entity.Infrastruct.DbQuery 类型的对象强制转换为 System.Collections.Generic.IEnumerable

    我有两个实体框架查询 每个查询返回两列 并且我想出于绑定原因连接或连接两个查询的结果 我已经尝试过Concat方法 但它抛出 无法转换类型的对象 System Data Entity Infrastructure DbQuery 1 VB
  • Python中的正则表达式:仅当不在列表中时将单词与数字分开

    我有一个包含一些我需要保留的替代品的列表 例如 替换列表 1st 2nd 10th 100th 1st nation xlr8 5pin h20 一般来说 包含字母数字字符的字符串需要按如下方式拆分数字和字母 text re sub r l
  • 可以使用 DataEventArgs 而不是自定义事件数据类吗?

    正在使用通用的DataEventArgs
  • iOS8 中的表格视图单元格自动布局

    我似乎无法在我的表视图单元格上使用自动布局 在某些细胞上它似乎起作用 而在另一些细胞上它似乎不起作用 即使是完全相同类型的细胞 例如 在某些单元格上 描述将超过 1 行文本 并且它将正常工作 然而 在其他单元格上 描述将包含超过 1 行的文
  • 设置用户权限时“SHOW 命令被拒绝给用户”

    我需要使用 MYSQL 将用户 UPDATE 和 SELECT 授予数据库中的两个特定列 我使用下面的命令来执行此操作 GRANT SELECT title new title catagory description runtime UP
  • 使用 Apache Spark 进行高效计数

    1 亿客户在几个网站 假设有 100 个网站 的页面上点击了 1000 亿次 您可以在大型数据集中获取点击流 使用 Apache Spark 的抽象 计算每个网站的不同访问者的最有效方法是什么 visitors distinct count
  • R - 计算相邻的重复项

    R 新手 想要执行以下操作 我有一组数字 例如 1 1 0 1 1 1 0 0 1 并且需要在出现相邻重复项时对其进行计数 我正在寻找的结果是 2 1 3 2 1 如 2 个 1 1 个 0 3 个 1 等 Thanks 我们可以用rle
  • 统计一年中每个月的记录

    我有一个表 其中总共有 1000 条记录 它具有以下结构 EMP ID EMP NAME PHONE NO ARR DATE 1 A 545454 2012 03 12 我想计算 2012 年每个月的记录数 有什么方法可以一次性解决我的问题
  • 如果我的接口必须返回任务,那么实现无操作的最佳方法是什么?

    在下面的代码中 由于接口 类LazyBar必须从其方法返回一个任务 并且出于论证原因不能更改 如果LazyBar它的实现很不寻常 因为它恰好快速且同步地运行 从该方法返回无操作任务的最佳方法是什么 我已经和Task Delay 0 下面 但
  • 为 Docker 容器指定超级用户 PostgreSQL 密码

    在 Docker 容器中运行 PostgreSQL 数据库时 文档 https hub docker com postgres 对于官方 PostgreSQL Docker 镜像 指定管理员密码应在环境变量中设置 例如 docker run
  • 通过 mixin 列出类的方法

    我想在 mixin 中列出一个类的方法 为此 我假设我必须打开 mixin 中包含源代码的文件 但找到该文件的名称比我想象的要难 我尝试使用 FILE 但它给出了 mixin 声明的文件 所以我必须在每个文件中定义 mixin 这没有任何意
  • 运行“:ConqueTerm bash”时出错

    我已使用以下行通过 vundle 安装了 Conque Bundle Conque Shell 然而 当我跑步时 ConqueTerm bash我收到以下错误 Error detected while processing function
  • DDD - 仅在更改时持久保留聚合子项

    我正在尝试在我当前正在开发的应用程序中使用 DDD 我有以下 UserAggregate 结构 UserAggregate ProfileEntity ImageEntity RatingEntity 我有一个 UserRepository
  • Big O 表示法中是否存在 O(n/2) 这样的东西?

    我有一个数组 每次都会增加两个 由于增量的数量是原来的一半 我会说 O n 2 还是 O n 因为它是线性的 Just O n Big O 不关心常数因素 或者更确切地说 乘以任意有限因子已经是 big O 定义的一部分 因此在其中指定另一
  • 如何在JAVAFX中创建“添加选项卡”按钮?

    我想创建一个按钮 单击时将在 tabPane 中创建一个新选项卡 并且始终位于所有选项卡的右侧 如果有任何示例如何做到这一点 我将不胜感激 您的代码应该类似于下面的代码 此示例使用 TabPane 上方的按钮 public class Ta