【问题标题】:JavaFX disable accelerator actionJavaFX 禁用加速器操作
【发布时间】:2019-07-04 16:40:09
【问题描述】:

我有 MenuItem ,

 MenuItem menuItem = new MenuItem("OP");
 menuItem.setAccelerator(KeyCombination.keyCombination("Ctrl+S"));

我只想显示文本 (Ctrl+S) 而没有任何 动作 用于加速器,因为我有 keyBindings 用于那个。两个都到位后,动作会发生两次。

我发现了一个类似的问题, [Add accelerator description to JMenuItem in GUI, without actually adding an accelerator

但它适用于Swing

我如何在 JavaFX 中做到这一点。

【问题讨论】:

  • 如果你加了一个加速器,为什么不干脆去掉键位绑定呢?
  • @DVarga 这是一个完全不同的场景,我有键绑定,现在键绑定涵盖了我想要删除加速器操作的所有内容。
  • 你能发布你的整个Menu 和/或所有让我能够理解那里发生的事情吗?:)
  • @DVarga stackoverflow.com/q/39588765/3164187实际问题的帖子。

标签: java swing javafx


【解决方案1】:

这对我有用:

Scene scene = ...;
stage.setScene(scene);
stage.show();
scene.getAccelerators().clear();

显示帮助文本,但按键操作不会触发。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多