如何在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中创建“添加选项卡”按钮? 的相关文章

  • javafx组合框下拉菜单从屏幕边缘跳出

    我有最新版本的 java 8 40 和 javaFX 我有一个包含 10 个项目的复选框 我编译并运行该程序 如果我将程序窗口移至监视器屏幕的底部 下拉列表将从监视器屏幕中消失 无法将项目点击出屏幕 相反 如果我尝试使用场景生成器 2 0
  • 从 MS Access 中提取 OLE 对象(Word 文档)

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

    我希望将舞台设置为 未装饰 使其可拖动且可最小化 问题是我找不到这样做的方法 因为我遇到的示例是通过插入到主方法中的方法来实现的 我想通过控制器类中声明的方法来完成此操作 就像我如何使用下面的 WindowClose 方法来完成此操作 这是
  • JAVAFX 缩放、ScrollPane 滚动

    I have JAVAFX application with zoom and scale as described here Scale at pivot point in an already scaled node https sta
  • Gluon 移动 iOS 音频播放器

    由于 JavaFx Media 尚未移植到移动平台 任何人都可以帮助我使用本机 iOS APi 来播放声音 mp3 文件 该文件将存储在我的 gluon 项目的 main resources 文件夹中 在 Android 上 我们可以轻松地
  • 在JavaFX中如何在表视图中添加带有数据的组合框

    我已经尝试了很多 但无法将数据库中的所有值填充到我的组合框表格单元格中 控制器 java public class controller GetConnection gc new GetConnection PreparedStatemen
  • JavaFX 中的自定义双向绑定

    我正在尝试实现一个涉及 2 个字段计算的 GUI 我的模型有 2 个属性和 1 个绑定 ObjectProperty
  • 如何使用 JRE 部署 JavaFX 11 桌面应用程序

    我有一个 JavaFX JDK 8 桌面业务应用程序 它使用 Java Web Start 进行部署 用户安装了 Java 8 只需访问 URL 我的 AWS Linux 服务器上的公共 URL 即可下载 启动应用程序 使用 Web Sta
  • 如何在 PyCharm 中“查看”/突出显示制表符和空格以检查缩进?

    这可能听起来很愚蠢 但我还是个新手 有没有明确的方法可以发现 PyCharm 中的制表符或空格位于错误的位置 或者甚至以可视方式显示所有制表符和空格 我只是花了很长时间在函数的 Def 行寻找 无效语法 错误的问题 我原以为这可能仍然是一些
  • 当线程完成这项工作时,我是否需要使用 JavaFX 中的线程和任务在后台运行某些内容?

    我正在使用一个线程定期运行三秒的背景动画 我改编了用 Swing 编写的线程演示示例中的相关代码并使用 它取代了一个不太工作的早期版本 该版本同时使用了线程和任务 我的程序在播放视频或运行动画时停止 挂起线程 并在结束视频或动画时启动新线程
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言
  • JavaFX 可以在 Android 上运行吗?

    如果不这样做那就太可惜了 因为这将使 Android 应用程序看起来更有吸引力 现在还不行 要让它发挥作用将是一项艰巨的任务 Android 不具备典型桌面 JRE 所具备的所有库 尽管Android是开源的并且它会运行任何可以编译为Dal
  • Javafx 可拆卸窗格系统

    这是我在几个不同的软件中看到的我喜欢的东西 我不知道它来自哪里 也不知道它的真正名称是什么 但这里是 Visual Studio 中的窗格系统的示例 请注意我如何轻松地将窗格固定在任何地方 Javafx 可以实现这样的事情吗 我知道这个问题
  • Vim:垂直选项卡列表可以吗?

    是否可以让 vim 的选项卡列表垂直显示在编辑器的左侧 这确实很有帮助 但我还没有找到任何可以做到这一点的插件 我对谷歌很烂吗 我同意兰迪关于选项卡使用的观点 但前段时间我也在寻找在 gvim 中添加垂直制表符的可能性 为此 您必须修改源
  • 如何平滑拖动JavaFX多边形?

    我有一个多边形 三角形 我想让它可以用鼠标拖动 下面是我尝试过的代码 但是使用此代码我无法顺利拖动它 请让我知道如何才能使其顺利拖动 public void start Stage primaryStage throws Exception
  • 在反应导航 5 中向 createMaterialBottomTabNavigator 添加自定义“添加”按钮

    我正在制作一个项目 react native expo react navigation 5 我想在底部选项卡中添加一个自定义 添加 按钮 但因为 导航器只能包含 屏幕 组件作为其直接组件 孩子们 我需要找到一种方法来传递我的自定义组件 看
  • 如何在 JavaFX 中设置滚动窗格的单位增量?

    The 滚动条 http docs oracle com javafx 2 api javafx scene control ScrollBar htmlJavaFX 中的类包含一个用于设置单位增量的属性 这就是我所追求的 但是我找不到如何
  • 如何右对齐 Javafx 工具栏中的按钮

    我正在使用 Java FX 场景生成器构建 UI 并且希望工具栏中的按钮浮动到工具栏的右侧 我尝试更改父级 工具栏 和按钮的节点方向 但两者似乎都被忽略 添加一个没有内容的窗格 该窗格始终会增长以适应工具栏中左对齐工具和右对齐工具之间的可用
  • 如何在 JavaFX 中对单选按钮的最大可选复选框进行限制?

    请看下面的图片 您就会了解我的应用程序的布局 我希望能够动态选择多少CheckBox 启用下拉菜单 是可选的 固定数量 我想用这 3 个人来实现这个目标RadioButton 在垂直模式下全部 4CheckBox必须选择 不少于 在混合模式
  • 如何在JavaFX中有效地滚动和缩放大图像?

    作为图像处理应用程序的一部分 我需要创建具有缩放 滚动和矢量叠加功能的简单查看器模块 图像相当大 40000x20000 这使得 ImageView 上的操作变慢 缓冲等 在 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