gpt4 book ai didi

java - Color.getColor(字符串名称)不起作用

转载 作者:行者123 更新时间:2023-11-30 06:27:46 25 4
gpt4 key购买 nike

我正在尝试使用 getColor(String name) 函数更改颜色,但它似乎不起作用。可能是我犯了某种错误。这是代码:

public class ComboBoxPractice extends JFrame{

private String names={"Color.YELLOW","Color.RED","Color.GREEN"};

public ComboBoxPractice()
{
...

box.addItemListener(

new ItemListener()
{
public void itemStateChanged(ItemEvent event)
{
if(event.getStateChange()==event.SELECTED)
{
getContentPane().setBackground(Color.getColor(names[box.getSelectedIndex()]));
}
}
}
);
}

我还尝试了仅包含颜色名称的字符串数组,例如 YELLOW、RED、BLUE。但它没有用。

我知道另一种通过创建类颜色数组来改变颜色的方法,但我想尝试这种方法。

我做错了什么?

问候

最佳答案

要么使用 Color 类作为:

 private Color[] colors ={Color.YELLOW,Color.RED,Color.GREEN};

如果您使用Color 类,那么您可以将下面的语句更新为:

    getContentPane().setBackground(Color.getColor(names[box.getSelectedIndex()]));

作为

    getContentPane().setBackground(colors[box.getSelectedIndex()]);

或使用“黑色”、“红色”等名称

    private String[] names={"yellow","red","green"};

如果您决定使用上面的颜色名称,那么您可以使用反射获得 Color 对象,如下所示:

    Field field = Color.class.getField(names[0]);
Color color = (Color)field.get(null);

关于java - Color.getColor(字符串名称)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13125253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com