警报对话框中的 JavaFX 默认焦点按钮

2024-03-01

从jdk 8u40开始,我使用新的javafx.scene.control.Alert用于显示确认对话框的 API。在下面的示例中,默认情况下聚焦“是”按钮而不是“否”按钮:

public boolean showConfirmDialog(String title, String header, String content, AlertType alertType) {
    final Alert alert = new Alert(alertType);
    alert.setTitle(title);
    alert.setHeaderText(header);
    alert.setContentText(content);

    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.YES, ButtonType.NO);

    final Optional<ButtonType> result = alert.showAndWait();
    return result.get() == ButtonType.YES;
}

而且我不知道如何改变它。

EDIT :

这是默认情况下聚焦“是”按钮的结果屏幕截图:


我不确定以下是否是通常执行此操作的方法,但您可以通过查找按钮并自行设置默认行为来更改默认按钮:

public boolean showConfirmDialog(String title, String header, String content, AlertType alertType) {
    final Alert alert = new Alert(alertType);
    alert.setTitle(title);
    alert.setHeaderText(header);
    alert.setContentText(content);

    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.YES, ButtonType.NO);

    //Deactivate Defaultbehavior for yes-Button:
    Button yesButton = (Button) alert.getDialogPane().lookupButton( ButtonType.YES );
    yesButton.setDefaultButton( false );

    //Activate Defaultbehavior for no-Button:
    Button noButton = (Button) alert.getDialogPane().lookupButton( ButtonType.NO );
    noButton.setDefaultButton( true );

    final Optional<ButtonType> result = alert.showAndWait();
    return result.get() == ButtonType.YES;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

警报对话框中的 JavaFX 默认焦点按钮 的相关文章

随机推荐

  • 语法错误,意外的 T_SL

    我对 php 相当陌生 我正在使用一个脚本来创建一个名为 mime mailer 的函数 该函数本质上允许我使用 PHP 发送能够使用 CSS 设计的电子邮件 而不仅仅是纯文本 然而 在我的注册脚本中 我尝试编写一些发送 CSS 电子邮件的
  • 如何计算向量的置信区间? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个向量 vector lt c 12 17 24 35 23 34 56 如何计算 R 中该向量的置信区间 90 99 95 这是我想
  • 在 Meteor Js 中加密 Mongodb 数据

    插入文档时是否可以对特定集合的某些 Mongodb 字段进行加密 然后在发布合集的同时解密 我不确定这对于您的用例来说是否太过分了 Mylar http css csail mit edu mylar 是一个支持客户端加密的 Meteor
  • Android Studio 快捷方式,如 Eclipse

    I am new to Android Studio and want to know about shortcuts In Eclipse we use shift ctrl O for importing In Android Stud
  • Web Crypto API 在 AES 解密时抛出“DOMException”

    我想执行基本的 AES CBC 解密 我有字符串encData使用 128 位密钥加密rawKey 初始化向量defaultIV为零 我只想使用 Web Crypto API 而不使用第三方库 可以做吗 window crypto subt
  • SBCL:将 Hunchentoot 应用程序部署为可执行文件

    我开始使用 SBCL Common Lisp 并希望使用 Hunchentoot 开发一个小型 Web 应用程序 为了便于部署 我计划使用 sb ext save lisp and die 将所有内容保存在二进制文件中 因为我可以忍受大输出
  • 以编程方式设置 closereason

    我想在表单内调用 This Close 后设置表单的 CloseReason 通常 此表单会通过调用 This Close 自行关闭 但我想询问用户是否真的想要关闭表单 并发送包含一些信息的 mbox 但我有这个 protected ove
  • Angular 6 ngFor 按键分组的表列表

    我的 Angular 6 应用程序需要显示一个表格列表 其中表格是对其组成元素的一组化学分析 假设我有金属合金A 我对它进行了不同的化合物分析 找到了它的化学成分 Fe 0 001 Cu 0 042 等 这是我的数据源 它只是一个带有模拟的
  • 在 Laravel 5.3 中为数据库中的图像添加水印

    我正在尝试使用 Intervention Image 包在 Laravel 数据库中的图像上添加水印 在我的数据库表中 我保存图像的路径 我在模型中使用访问器来访问图像路径的字段 但收到此错误 方法插入不存在 这是我的模型 这是我的刀片 p
  • ServerSocket 被从控制台寻求输入的线程阻塞

    谁能告诉我为什么 ServerSocket 构造函数永远不会在新线程中返回 我从未看到 Opened 消息打印到控制台 似乎主线程通过过快地进入 readLine 来阻止服务器套接字线程运行 public class Main public
  • 将 Swagger 添加到 Dropwizard 应用程序,需要提供 SwaggerBundleConfiguration 实例吗?

    我对所有这些框架都非常陌生 所以请尝试并耐心等待我 感觉应该是一个非常简单的事情 我正在尝试学习将 Swagger 集成到现有 Dropwizard 应用程序中以生成 API 文档的过程 最好使用 Swagger UI 界面 以便它对于尝试
  • 如何向 tkinter 标签添加左边框或右边框

    下面的代码 import Tkinter as tk root tk Tk labelA tk Label root text hello grid row 0 column 0 labelB tk Label root text worl
  • 使用隐藏 IFrame 下载 PHP 文件而不保存

    我提前为令人困惑的问题措辞表示歉意 但我不知道如何表达 我本质上在数据库中有一个字符串 我打算将其提供给用户下载 我该怎么做呢 我试图使用ajax 但我不知道如何去做 当按下下载链接时执行以下 jquery 代码 ajax url inde
  • 根据州级数据制作加权美国地图

    我有一个州级数据列表 其中包含每个州的数字 例如 AL 10 5 AK 45 6 AZ 23 4 AR 15 0 我想把它做成一个加权地图 最暗的地方数字最高 最亮的地方数字最低 有没有什么软件 或者java或python库可以生成这样的图
  • 如何在前端JavaScript中访问Python(Flask)传递的数组(JSON)?

    我是一个真正使用 Flask 框架 通常是客户端 服务器 的菜鸟 所以请耐心等待 我有一个基本的 HTML 模板文件 其中包含一些 Flask 使用 表示法 从 python 文件传递 JSON 对象 现在 作为一个简单的健全性检查 它输出
  • 使用 GitKraken 克隆存储库时,“无法打开 '/etc/gitconfig' - 权限被拒绝”

    我尝试在 Ubuntu 上使用 GitKraken 克隆存储库 但它引发了错误 无法打开 etc gitconfig 权限被拒绝 所以我认为 GitKraken 软件需要访问 gitconfig 文件让事情顺利进行 并且以某种方式尝试访问该
  • 如何在 JavaFX 内部使用 jFrames?

    我刚刚看到一篇文章Swing http javafx com samples ExercisingSwing index html在 JavaFX 中使用 如何将使用 jFrame 显示图形的应用程序移植到 JavaFX 中 另外 jBut
  • 如何使用 github api 为仓库加注星标

    我尝试使用github api来star一个repo curl X PUT H Authorization token https api github com user starred fulldecent system bus radi
  • 无法将 java.lang.String 类型的属性值转换为所需类型 java.util.Date

    I m getting this error when I try to input a date in a form 任务控制器 RequestMapping value docreatetask method RequestMethod
  • 警报对话框中的 JavaFX 默认焦点按钮

    从jdk 8u40开始 我使用新的javafx scene control Alert用于显示确认对话框的 API 在下面的示例中 默认情况下聚焦 是 按钮而不是 否 按钮 public boolean showConfirmDialog