JAVA - JMenuItem 文本角左右

JAVA - JMenuItem text corner left and right

如何JMenuItem文本可以左右转角。

所以我尝试使用 html 代码,但它不起作用

JMenuItem menuNew = new JMenuItem("<html><div align=left>Open</div><div align=right>Ctrl+O</div></html>", new ImageIcon(getClass().getResource("/icon/icon1.png")))

这就是我想要的:

这就是我得到的:

Ctrl+O 称为 加速器,您不应尝试在 JMenuItem 的文本中设置它。

改用setAccelerator

JMenuItem menuNew = new JMenuItem("Open\u2026", new ImageIcon(getClass().getResource("/icon/icon1.png")));
menuNew.setMnemonic('O');
menuNew.setAccelerator(KeyStroke.getKeyStroke("ctrl O"));

您还可以将加速器指定为显式创建的 KeyStroke 而不是解析的:

menuNew.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_O,
                           InputEvent.CTRL_DOWN_MASK));