java - 更改图形 drawString 颜色

标签 java graphics fonts colors

我正在尝试从 ttf 文件创建字体,然后使用 Graphics2D 将其渲染为屏幕上的特定颜色。

字体加载正常并以正确的字体呈现在屏幕上,但是文本的颜色保持黑色。如何将文本的颜色更改为白色或其他颜色?感谢您的帮助!

获取字体:

    public Font getFont(String name) {
        Font font = null;
        if (name == null) {
            font = new Font("sans", Font.PLAIN, 24);
        }

        try {
            String fname = "assets/fonts/" + name;
            File fontFile = new File(fname);
            font = Font.createFont(Font.TRUETYPE_FONT, fontFile);
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            ge.registerFont(font);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return font;
    }

绘制文字:

    Font title = getFont("PressStart2P.ttf");
    g2.setFont(title.deriveFont(30.0f));
    g2.setColor(Color.WHITE);
    g2.drawString("A Game of Squares", 50, 80);

最佳答案

问题出在这里:

    g2.setColor(new Color(Color.WHITE));

Java 中的 Color 类不接受另一个 Color 对象作为其构造函数的输入,因为 Color.WHITE(以及无数其他预定义的颜色)是对 Color 对象的引用,该行应为:

    g2.setColor(Color.WHITE);

来源:http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html

关于java - 更改图形 drawString 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23401948/

相关文章:

Java ComboBox 不会被填充

java - GWT : How to call SERVLET FROM GWT_SERVLET and How to return value from target servlet to source servlet?

C++ 使用 GTK+ 制作 2D 游戏图形

graphics - Gwt 图形和 ClickHandler

css - 文本呈现呈锯齿状

ios - Italic 字体不适用于 iOS 7 上的中文/日文/韩文

JavaFX 8 : How to remove the last white pixel from the combobox list

java - 设置后的属性始终为nil

css - 是否可以使用具有阴影、文本轮廓和/或渐变等特殊效果的 CSS 来制作一种链接/按钮样式?

css - 字体加载不正确