首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java字体显示问题

Java字体显示问题
EN

Stack Overflow用户
提问于 2010-05-14 21:30:11
回答 1查看 364关注 0票数 0

我意识到,在我的特定客户端,当我使用Graphics2D本身提供的字体,并将大小减少1,它就不能正常显示。

代码语言:javascript
复制
private void drawInformationBox(Graphics2D g2, JXLayer<? extends V> layer) {
    if (MainFrame.getInstance().getJStockOptions().getYellowInformationBoxOption() == JStockOptions.YellowInformationBoxOption.Hide) {
        return;
    }

    final Font oldFont = g2.getFont();
    final Font paramFont = new Font(oldFont.getFontName(), oldFont.getStyle(), oldFont.getSize());
    final FontMetrics paramFontMetrics = g2.getFontMetrics(paramFont);
    final Font valueFont = new Font(oldFont.getFontName(), oldFont.getStyle() | Font.BOLD, oldFont.getSize() + 1);
    final FontMetrics valueFontMetrics = g2.getFontMetrics(valueFont);
    /*
     * This date font cannot be displayed properly. Why?
     */
    final Font dateFont = new Font(oldFont.getFontName(), oldFont.getStyle(), oldFont.getSize() - 1);
    final FontMetrics dateFontMetrics = g2.getFontMetrics(dateFont);

字体的其余部分都可以。这是屏幕截图(见黄色方框。在黄色框中有3种不同的字体):alt text http://www.investalks.com/attachments/month_1005/10051420318460461ffea5a2f9.jpg

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-14 21:59:17

您没有显示足够的代码来确定大小是否真的是问题所在……

话虽如此,如果您使用deriveFont() API,您的代码将更容易阅读,如

代码语言:javascript
复制
final Font dateFont = oldFont.deriveFont((float)(oldFont.getSize() - 1));

这可能会也可能不会解决您的问题。我把钱押在某个区域设置上,它返回当前字体中没有字形的字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2834483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档