【问题标题】:Context Menu - Align some text left, and some text right上下文菜单 - 一些文本左对齐,一些文本右对齐
【发布时间】:2017-05-15 06:40:14
【问题描述】:

我的程序中有一个上下文菜单。我想展示与上下文菜单执行相同功能的键。我想让菜单的名称左对齐,而键盘命令右对齐。我没有截图,但这是一张图:

现在的情况(简体)

Play (↵)
Stop (X)
Enqueue (Q)
Browse Folder (B)

我希望事情变成什么样子

Play           (↵)
Stop           (X)
Enqueue        (Q)
Browse Folder  (B)

我的代码只是样板 javafx 上下文菜单代码:

    ContextMenu contextMenu = new ContextMenu();
    MenuItem playMenuItem = new MenuItem( "Play (↵)" );
    MenuItem queueMenuItem = new MenuItem( "Enqueue (Q)" );
    MenuItem cropMenuItem = new MenuItem( "Crop (⇧␡)" );
    MenuItem deleteMenuItem = new MenuItem( "Delete (␡)" );
    MenuItem browseMenuItem = new MenuItem( "Browse Folder (B)" );

有没有办法在上下文菜单上放置两个标签,或者让一个浮动一些文本对吗?

谢谢!

【问题讨论】:

    标签: java javafx


    【解决方案1】:

    我认为你可以通过使用加速器完全避免这个问题。 (我猜这些是什么意思?)例如:

     ContextMenu contextMenu = new ContextMenu();
     MenuItem playMenuItem = new MenuItem( "Play" );
     playMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.ENTER));
     //etc.
    

    这不仅会为您处理加速,还会以您当前尝试使用纯字符串实现的类似方式显示加速键。

    【讨论】:

    • 它甚至使用相同的 utf 符号进行输入。 . :-D 谢谢!
    • 知道为什么 KeyCode.ENTER 不能用于 tableview 上下文菜单吗?其余的工作,但 Enter 不会,除非我将它与 CONTROL_DOWN 或 SHIFT_DOWN 结合起来。
    • 这很可能是因为 tableView 节点以其默认行为使用它(但我不知道为什么)。也许它在某个地方的 javadoc 中,否则你可以检查它的 BehaviorSkin 以查看究竟是什么。
    猜你喜欢
    • 2014-01-02
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    相关资源
    最近更新 更多