gpt4 book ai didi

java - JMenuItem 快捷方式对齐

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:22:53 26 4
gpt4 key购买 nike

我有一个带有标准项和快捷方式的 JMenuBar。但是我注意到快捷方式描述是左对齐的,看起来很难看。有办法右对齐吗?

PS:“Umschalt”表示转变。有没有办法强制它说 shift 而不是 Umschalt?

[更新: Locale.setDefault(Locale.ENGLISH); 解决了这个问题,但是只影响特定组件的解决方案会更好.. ]

PSPS:使用 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 我已将外观设置为操作系统默认值。但现在我想在标准 OS Look 的基础上对外观做一些小的调整。例如,我想让 JMenuBar 变黑。互联网告诉我使用 UIManager.put("tMenuBar.background", Color.BLACK); 但它似乎没有做任何事情..

[更新:这对于 Windows 外观来说似乎是不可能的:/]

enter image description here

这里是代码:

    private JMenuBar tMenuBar;
private JMenu mbEdit;
private JMenuItem mCut, mCopy, mPaste, mDo, mUndo;

tMenuBar = new JMenuBar();
mbEdit = new JMenu("Edit");
tMenuBar.add(mbEdit);

// EDIT
mUndo = new JMenuItem("Undo");
mDo = new JMenuItem("Redo");
mCut = new JMenuItem("Cut");
mCut.setIcon(iCut);
mCopy = new JMenuItem("Copy");
mCopy.setIcon(iCopy);
mPaste = new JMenuItem("Paste");
mPaste.setIcon(iPaste);
mbEdit.add(mUndo);
mbEdit.add(mDo);
mbEdit.addSeparator();
mbEdit.add(mCut);
mbEdit.add(mCopy);
mbEdit.add(mPaste);

// Undo
mUndo.setAccelerator(KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_Z, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
// Redo
mDo.setAccelerator(KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_Z, ((Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | java.awt.event.InputEvent.SHIFT_MASK))));
// Cut
mCut.setAccelerator(KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
// Copy
mCopy.setAccelerator(KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
// Paste
mPaste.setAccelerator(KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));

已经尝试过:

applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

enter image description here

最佳答案

I would like to make the JMenuBar black.

它应该是(带有“t”)

UIManager.put("MenuBar.background", Color.BLACK);

您需要在创建组件“之前”设置 UIManager 属性。

此外,并非所有 LAF 都支持该属性。查看UIManager Defaults获取更多信息和 LAF 支持的属性列表。

关于java - JMenuItem 快捷方式对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26563856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com