【发布时间】:2012-12-20 07:03:54
【问题描述】:
我的 Java 程序在其他人的笔记本电脑 (Windows) 上运行时没有出现 unicode 字符有什么原因吗?
我在我的 Mac 上用 Java (Swing) 编写了一个国际象棋程序。每个棋子都由该棋子的 unicode 字符表示。棋盘显示为一个按钮网格,每个按钮的文本都设置为国际象棋 unicode 字符。
在我的 Mac 上它运行良好,但我的朋友(使用 Windows)说,尽管出现了按钮网格,但他看不到任何国际象棋字符。幸运的是,我将每个按钮的工具提示设置为它所代表的作品的名称,这使他能够测试游戏,但是我相信你明白必须将鼠标悬停在每个方块上方才能知道什么是耗时的.尽管如此,它确实表明我的程序运行良好,只是没有显示任何 unicode。
我可以对我的程序或他笔记本电脑上的朋友设置做些什么来解决这个问题?
【问题讨论】:
-
如果没有看到代码的相关部分,这很难回答。
-
也许在 Windows 上使用了无法显示这些字符的字体?您应该使使用的字体可配置,然后重试。
-
@a_horse_with_no_name 实际上我已经像这样设置了按钮的字体。私人字体字体=新字体(空,Font.PLAIN,36); button.setFont(字体);我使用 null 是因为显然在 API 中它使用了默认字体。我将大小设置为 36,因为否则字符看起来很小。我应该更改 null 语句吗? jlordo 我会试着放一个GUI代码的小例子。有什么办法可以附加一个人们可以在这个网站上测试的 Jar 文件吗?通过测试我的意思是只是运行,看看他们的系统是否会显示 unicode?span>
-
最好使用默认字体并简单地增加它的大小:
getFont().deriveFont((float)36)。getFont()应该在显示碎片的组件上调用。