java - 启动期间为空颜色

标签 java class colors enums fixed

所以当我意识到颜色返回 null 时,我只是玩得很​​开心。但奇怪的是,颜色是在实现过程中制定的。我的代码是这样的:

package org.legend.game;

import java.awt.Color;

public class Type {

    final static Type GROUND;
    final static Type AIR;

    static{
        AIR = new Type(0);
        GROUND = new Type(1);
    }

    private Color c;

    Type(int type) {
        Color c = colorFromType(type);
        System.out.println(c);
        this.c = c;
    }

    public Color getColor() {
        return c;
    }

    private Color colorFromType(int num) {
        switch (num) {
        case 0:
            return new Color(0, 0, 0, 0);
        default:
            return new Color(255, 255, 255, 255);
        }
    }
}

我之前尝试过使用枚举,但这也不起作用。从技术上讲,这应该可行,但由于某种原因,颜色总是返回 null。

有谁知道为什么会这样吗?我正在通过 Applet 运行此程序(仅供引用)。

打印示例:

java.awt.Color[r=0,g=0,b=0]
java.awt.Color[r=255,g=255,b=255]
//Classic NullPointerException linking to the Type#getColor() method.

谢谢

图例。

最佳答案

如果执行此操作时收到 NullPointerException

type.getColor()

那么type就是null,而不是方法调用的返回值。

<小时/>

一旦你解决了错误,我建议你回到枚举。对于这些类型的对象来说,这是一个更好的方法。

关于java - 启动期间为空颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9829981/

相关文章:

java - 为 JTree 中的 DefaultMutableTreeNode 分配唯一 ID?

c++ - 在模板类之外定义运算符重载

c# - 消除依赖的技术?

java - 如何从 twilio 第三方 API 获取来电号码

java - 源参数中不存在名为 "Id"的属性。您的意思是 "null"吗?

ios - iOS 中的随机颜色

wpf - WPF 字体中不可预测的不透明度行为

android - 单击时按钮不改变颜色

java - 来自 LibGDX 中 texturepacker 的纹理

java - 返回与其他杂项完全分配的对数组。 Java 中的信息