Java 在JTable中显示表情符号
我想在Java 在JTable中显示表情符号,java,swing,encoding,fonts,jtable,Java,Swing,Encoding,Fonts,Jtable,我想在JTable中显示: @Override public Object getValueAt(int row, int col) { switch (col) { [...] case 2: String symbol = "\uD83D\uDD0A"; return "State " + symbol; defaul
JTable
中显示:
@Override
public Object getValueAt(int row, int col)
{
switch (col) {
[...]
case 2:
String symbol = "\uD83D\uDD0A";
return "State " + symbol;
default:
return "";
}
}
不幸的是,我只看到一个方形的盒子。我不确定是否必须设置支持此字符的特定字体
,或应用其他编码
对于正在寻找解决方案的谷歌用户:我为JTable实现了一个定制渲染器,比如@trashgod sugested。示例可用或。是的,您需要两件事:
- 包含所需字形的字体,如图所示加载
- 要在其中使用字体的
,如图所示TableCellRenderer
可选地,考虑一个<代码> TabelEngReleRever < /代码>,实现了<代码>图标< /代码>接口,如图所示。图形上下文的
fill(Polygon)
和drawArc()
方法应产生令人满意的结果 如果您不确定字符编码,请检查每个表情符号都包含正确的unicode值。我尝试了表情符号java,但它只是有助于简化这些字符的使用,但无助于解决字体问题。最后,我成功地通过@trashgod sugestion实现了TableCellRenderer来查看iconsI无法在JTable单元格中显示emoij。它不起作用。我有一个渲染器设置,我正在使用Vincent的emoij java。在渲染器内部,我已经有了setText(EmojiParser.parseToUnicode(value.toString()),其中value是对象——它是一个StringBuffer,这就是我需要toString()的原因。少了什么?好的,谢谢。我解决了这个问题,使用TableCellRenderer按照您的建议显示图标!