我们希望显示JList的提示,即用户可以使用与平台相关的键进行多次选择来选择多个项目.
但是,我还没有找到在JLabel中显示OS X COMMAND符号的任何方法,这意味着在命令键(也称为苹果键)的苹果键盘上印刷的符号.
这是我要在OS X上显示的符号的图片.
(来源:wikimedia.org)
我也想让它独立于平台.
即就像是
component.add( new JList() , BorderLayout.CENTER );
component.add( new JLabel( MessageFormat.format("With {0} you can "
+ "select multiple items",
KeyStroke.getKeyStroke( ... , ... ) ) ) , BorderLayout.SOUTH );
应该在上面看到的符号上方出现而不是{0}.
你们当中有人知道如何做吗?我知道一定有可能,因为在JMenuItems中有符号…
我自己的(非图形解决方案)如下所示:
add( new JLabel( MessageFormat.format(
"With {0} you can select multiple items" ,
System.getProperty( "mrj.version" ) != null ? "COMMAND" : "CTRL" ) ) ,
BorderLayout.SOUTH );
最佳答案
有问题的符号可通过Unicode和HTML字符集获得.您所需要做的就是通过用< html>开头的文本字符串使JLabel显示HTML.然后包含字符代码.
JLabel label = new JLabel( "<html>⌘ is the Apple command symbol." );
这将在Mac上运行,但是我不知道它将在其他平台上做什么,尽管您似乎已经掩盖了这一点.