想要使用数组元素作为属性但引号会导致错误Java

时间:2013-03-02 13:51:47

标签: java

我真的被这个简单的问题困扰了。

我有一些颜色的数组,如:

String[] colors = {"BLACK", "YELLOW", "ORANGE"};

我想使用数组中的颜色:

setBackground(Color.colors[1]);

但我收到了错误

colors cannot be resolved or is not a field.

我确定我的问题有一个简单的解决方案吗?

谢谢!


感谢大家的帮助!我应该在我的问题中加入更多细节,它实际上与GUI中的按钮有关。 非常感谢Igor Rodriguez的回答是正确的:)

3 个答案:

答案 0 :(得分:1)

您的数组不能是String类型。它必须是Color:

类型
Color[]  colors = new Color[] {Color.BLACK, Color.YELLOW, Color.ORANGE};
setBackground(colors[0]);

答案 1 :(得分:0)

假设您的意思是java.awt.Color,您的数组color不是该类的字段。使用:

setBackground(colors[1]);

在这种情况下,you will need valid Color objects而不是Strings,您可以使用:

Color[] colors = {Color.BLACK, Color.YELLOW, Color.ORANGE};

答案 2 :(得分:0)

只需使用数组表示法:

setBackground(colors[0]);
setBackground(colors[1]);
setBackground(colors[2]);

但我认为你想要这样的事情:

object.setBackground(Color.black);

其中object是要更改颜色的元素。 (假设您正在使用java.awt.Color