我有一个带有标准项目和快捷方式的JMenuBar。但我注意到快捷的描述是左对齐的,看起来很难看。有办法让它对齐吗?
PS:"Umschalt“的意思是转移。有没有办法强迫它说“变换”而不是“乌姆沙尔特”?
更新: Locale.setDefault(Locale.ENGLISH);修复了问题,但是只影响特定组件的解决方案会更好。
PSPS:使用UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());,我已经将外观和感觉设置为OS默认值。但是现在我想对标准操作系统上的外观做一些小的调整。例如,我想让JMenuBar变成黑色。网络告诉我要使用UIManager.put("tMenuBar.background", Color.BLACK);,但它似乎什么也没做。
Windows:的外观和感觉似乎不可能实现 :/

在这里,代码:
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);

发布于 2014-10-25 15:24:58
我想把JMenuBar变成黑色。
应该是(加上"t")
UIManager.put("MenuBar.background", Color.BLACK);您需要在创建组件之前设置UIManager属性。
另外,该属性可能不支持所有LAF。请查看UIManager默认值以获得更多信息和LAF支持的属性列表。
发布于 2014-10-25 15:57:54
看看这个关于德语单词的帖子。我确实意识到,这可能是一个评论,而不是一个回答,但我仍然无法做到,因为缺乏声誉,我想帮助。
https://stackoverflow.com/questions/26563856
复制相似问题