java - 如何在Java中映射Paint中的颜色数组?

标签 java swing colors paint

下面是代码。我在这一行遇到错误

Paint[] p=new Paint[]{cols};

但是如果我使用

Paint[] p=new Paint[]{cols[1]}; 

它不会给出错误。

    Color[] cols = new Color[n];

    for (int i = 0; i < n; i++)
    {
        cols[i] = Color.getHSBColor((float) i / n, 1, 1);

    }
    Paint[] p=new Paint[]{cols};
    return cols;

最佳答案

p 是一个 Paint 数组。 cols 是另一个数组。 p 不能包含 cols,因为 p 中的对象必须是 Paint,而不是数组。

如果要将cols的内容放入p中,可以这样做:

Paint[] p = new Paint[cols.length]; // create a new array with the same length as `cols`
System.arraycopy(cols, 0, p, 0, cols.length); // copy the contents

这相当于迭代数组的长度并复制每个元素。

但如果您确实想要一个 Paint 数组,我不确定为什么要使用 cols 数组。你可以这样做:

Paint[] p = new Paint[n];

for (int i = 0; i < n; i++) {
    p[i] = Color.getHSBColor((float) i / n, 1, 1);
}

关于java - 如何在Java中映射Paint中的颜色数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35489959/

相关文章:

java - 尝试对本地主机服务器进行压力测试时,JMeter 出现错误

Java Swing BufferedImage 质量差

java - 如何在 JTable 中呈现复选框?

n 个案例的 R Beautiful Colors

c# - 为什么转换为一个字节然后立即返回一个 int?

java - 将int转换为unsigned short java

java - 单击按钮后无法启动新布局

java - 如何重置 iText 中的段落

java - 尝试使用 Java Swing 显示选项卡

java - 动态更改 JFreeChart 直方图颜色?