我正在构建一个使用Java Swing for GUI的程序,并且应该根据数据库中的数据显示项目。 我在IntelliJ Idea工作。
当我在IDE中工作并按下“运行”或“调试”按钮时,GUI启动正常,一切正常。
但是,在构建工件(导出到JAR)之后,在运行输出JAR时,我看不到希伯来字母,例如:
上面的图片是完全相同的数据库(背景颜色是随机的)。
构建上述JLabel的代码:
JPanel panel = new JPanel();
panel.setOpaque(false);
Dimension size = new Dimension(this.getWidth(), TeaserPanel.NAME_HEIGHT);
this.setPreferredSize(size);
this.setMinimumSize(size);
this.setMaximumSize(size);
// The name label.
JLabel name_label = new JLabel(this.m_item.getName(), SwingConstants.LEFT);
// Set the font of the label (size, style & font type).
Font font = Configuration.MAIN_ENGLISH_FONT.deriveFont(Font.BOLD, NAME_FONT_SIZE);
if (font.canDisplay(this.m_item.getName().codePointAt(0)))
{
name_label.setFont(font);
}
else
{
name_label.setFont(new Font("Arial", Font.BOLD, NAME_FONT_SIZE));
}
panel.add(name_label);
panel.revalidate();
所以,实质上,当m_item.getName()是一个希伯来字符串时,它显示错误。
导致这种情况的原因是什么?
提前致谢