GUI:如何确定是否支持某些Unicode字符?

我注意到Metal L&F不支持Unicode中的某些箭头字符,而Nimbus和GTK L&F确实支持它们。

不支持的字符只显示为: ...

我可以吗

  1. 或者查找(手动),L&F支持哪些Unicode字符,
  2. 或者在运行时找到它?

编辑:或者,如果它只取决于L&F的默认字体,我的问题或许应该是:
“我怎么知道,哪种Java字体支持哪些Unicode字符?”

您可以使用canDisplay方法来测试java.awt.Font对象是否可以显示给定字符。 您通常可以使用getFont()方法从GUI组件中获取字体。

如果你知道哪个unicode块包含你需要的箭头,你可以在这里查找。 不幸的是,似乎没有新的JDK页面。

使用这段代码几乎可以使用每个Unicode ta.setFont(new java.awt.Font(“Segoe UI Emoji”,1,20));