JAVA - JMenuItem文本左右角落

时间:2016-12-13 16:19:29

标签: java html jmenuitem

如何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")))

这就是我想要的:

enter image description here

这就是我得到的:

enter image description here

1 个答案:

答案 0 :(得分:1)

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));