Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 想要使用数组元素作为属性,但引号会导致错误_Java - Fatal编程技术网

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

Java 想要使用数组元素作为属性,但引号会导致错误,java,Java,我真的被这个简单的问题难住了 我有一个带有几种颜色的数组,如: String[] colors = {"BLACK", "YELLOW", "ORANGE"}; 我想使用数组中的一种颜色,如下所示: setBackground(Color.colors[1]); object.setBackground(Color.black); 但是我得到了错误 colors cannot be resolved or is not a field. 我确信有一个简单的方法来解决我的问题 谢谢 谢谢

我真的被这个简单的问题难住了

我有一个带有几种颜色的数组,如:

String[] colors = {"BLACK", "YELLOW", "ORANGE"};
我想使用数组中的一种颜色,如下所示:

setBackground(Color.colors[1]);
object.setBackground(Color.black);
但是我得到了错误

colors cannot be resolved or is not a field.
我确信有一个简单的方法来解决我的问题

谢谢


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

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

setBackground(colors[1]);
在这种情况下,您可以使用:

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

只需使用数组表示法:

setBackground(colors[0]);
setBackground(colors[1]);
setBackground(colors[2]);
但我想你想要这样的东西:

setBackground(Color.colors[1]);
object.setBackground(Color.black);
其中object是要更改颜色的元素。
(假设您正在使用)

您的数组不能是字符串类型。它必须是以下颜色类型:

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

将其用作背景(颜色[1]);1) 是
Color
=
java.awt.Color
?2)
setBackground
采用什么参数类型(
java.awt.Color
?)?我们需要更多的代码来告诉您问题所在。此的类型是什么?这个数组是在哪里定义的?
setBackground()
在何处以及如何定义?颜色是在哪里定义的,是如何定义的?在java中,通过字符串名获取颜色实例并不容易。此处列出了最接近的属性-哪个属性?证明错误是由引号引起的。我不相信。它与GUI中的按钮无关。错误是因为您在颜色对象中没有“颜色”属性。当然数组可以是
String
,但您提供的代码可能是OP想要的。@Dukeling:我不是说不能创建String类型的数组。我的意思是,他真的不应该使用字符串数组来做这件事,因为那样会不必要地使代码复杂化。:)我不是说你的意思不正确,只是你说的方式有点不对劲。这可能更好:“假设
setBackground
Color
作为一个参数,并且
Color
这里是
java.awt.Color
,那么你的数组不应该是
String
类型,它应该是
Color
类型(否则事情会不必要地复杂)。我没有这样做是因为那样会弄乱询问者。你假设他知道有不同类型的颜色。大多数人只知道java.awt.Color,这是因为它在Swing中使用。你说得对,我确实假设他试图设置组件的背景色,并且他试图使用默认颜色列表。如果有人以另一种方式问我这个问题,我就不会做出这样的错事。谢谢