Java:Windows L&F OSX。将 ctrl 替换为命令

Java: Windows L&F under OSX. Substitute ctrl to command

我在 OSX 上的 Java 申请必须使用 Windows L&F 之一。不幸的是,我无法将 L&F 更改为任何 Apple 兼容。

使用 windows 热键非常不方便(ctrl+c 而不是 cmd+c 等)。可能存在一个 "hack" 允许我在 windows L&F 的热键中全局使用命令键而不是控制(cmd -> ctrl)(不希望覆盖每个控件的键绑定)?

如果重要的话,我会使用 JGoodies Looks

找到我要找的东西:

if (Desktop.getDesktop().isMacOSX()){
    // see MetalLookAndFeel class for details
    String[] keys = {"TextField.focusInputMap", "PasswordField.focusInputMap", "TextArea.focusInputMap", "TextPane.focusInputMap", "EditorPane.focusInputMap", "FormattedTextField.focusInputMap"};
    //              , "List.focusInputMap", "Table.ancestorInputMap", "Tree.focusInputMap"};
    for(String item : keys){
        InputMapUIResource map = (InputMapUIResource) UIManager.get(item);
        map.put(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.META_MASK), DefaultEditorKit.copyAction);
        map.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.META_MASK), DefaultEditorKit.pasteAction);
        map.put(KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.META_MASK), DefaultEditorKit.selectAllAction);
        map.put(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.META_MASK), DefaultEditorKit.cutAction);
    }