首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMenuItem快捷对齐

JMenuItem快捷对齐
EN

Stack Overflow用户
提问于 2014-10-25 15:11:40
回答 2查看 320关注 0票数 3

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

PS:"Umschalt“的意思是转移。有没有办法强迫它说“变换”而不是“乌姆沙尔特”?

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

PSPS:使用UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());,我已经将外观和感觉设置为OS默认值。但是现在我想对标准操作系统上的外观做一些小的调整。例如,我想让JMenuBar变成黑色。网络告诉我要使用UIManager.put("tMenuBar.background", Color.BLACK);,但它似乎什么也没做。

Windows:的外观和感觉似乎不可能实现 :/

在这里,代码:

代码语言:javascript
复制
    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()));

已经尝试过:

代码语言:javascript
复制
applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

EN

回答 2

Stack Overflow用户

发布于 2014-10-25 15:24:58

我想把JMenuBar变成黑色。

应该是(加上"t")

代码语言:javascript
复制
UIManager.put("MenuBar.background", Color.BLACK);

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

另外,该属性可能不支持所有LAF。请查看UIManager默认值以获得更多信息和LAF支持的属性列表。

票数 1
EN

Stack Overflow用户

发布于 2014-10-25 15:57:54

看看这个关于德语单词的帖子。我确实意识到,这可能是一个评论,而不是一个回答,但我仍然无法做到,因为缺乏声誉,我想帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26563856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档