首页 > 解决方案 > Graphics2D.drawString() 不能使用我的自定义字体

问题描述

这是我的代码:

private void drawScore(Graphics2D g, int xGap, int yGap) {
        Font font = PanelUtil.getFont();
        //Font font = new Font("Fira Code", Font.PLAIN, 20);
        font.deriveFont(200f);
        g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
        g.setColor(Color.WHITE);
        g.setFont(font);
        g.drawString("testasdasdsdasasd", 500, 50);
        g.drawString(Integer.toString(status.getLocal().getScore()), GameConfig.FRAME_WIDTH / 2 - xGap, yGap);
        g.drawString(Integer.toString(status.getRemote().getScore()), GameConfig.FRAME_WIDTH / 2 + xGap, yGap);
    }

如果我使用我安装的字体,它可以正常工作;但是,如果我使用资源文件夹中的字体,我只能看到一些白点。对此一无所知。

这是屏幕截图: 在此处输入图像描述 在此处输入图像描述

标签: javaswingfonts

解决方案


我犯了一个低级错误:font.deriveFont(200f)应该分配然后使用。希望我的回答可以帮助像我这样的人...


推荐阅读