У меня есть JMenuBar со стандартными элементами и ярлыками. Но я заметил, что описание ярлыка выровнено по левому краю, что выглядит некрасиво. Есть ли способ выровнять его по правому краю?
PS: "Umschalt" означает сдвиг. Есть ли способ заставить его говорить сдвиг вместо Умшалт?
[ОБНОВЛЕНИЕ: Locale.setDefault(Locale.ENGLISH);
устраняет проблему, но решение, влияющее только на определенные компоненты, было бы лучше.. ]
PSPS: С UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
я установил внешний вид ОС по умолчанию. Но теперь я хотел бы внести небольшие коррективы во внешний вид поверх стандартного вида ОС. Например, я хотел бы сделать JMenuBar черным. Интернет посоветовал мне использовать UIManager.put("tMenuBar.background", Color.BLACK);
, но, похоже, он ничего не делает..
[ОБНОВЛЕНИЕ: кажется, что это невозможно с интерфейсом Windows Look and feel :/]
Вот код:
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);
but the main question about the alignment still remains..)
это часть пользовательского интерфейса для JMenuItem. Поэтому вам, вероятно, придется изменить макет пользовательского интерфейса самостоятельно. - person camickr   schedule 25.10.2014