目前我在做:
private static JButton button;
button = new JButton();
button.setBackground(Color.RED);
这使我的按钮呈现红色。
我希望用户设置其颜色,用户输入的颜色存储在String color = "blue"
中。我想要button.setBackground(color);
这样的内容,以便它在button
中提供blue
。
我该怎么做?
答案 0 :(得分:2)
问题可归结为:如何从String中获取java.util.Color。使用反射可以直接从Color类中执行此操作,但最好创建一个简单的Map(例如HashMap<String, Color>
),以便将字符串与相应的Color相关联。然后,当你在ActionListener中获得用户的字符串时,可以使用Map获取相应的Color,然后在JButton上调用setBackground(...)
时使用Color。
答案 1 :(得分:0)
使用Color类将字符串转换为Color。您可以使用其方法将字符串表示转换为颜色,也可以使用反射来查找保留名称。您还可以考虑Swing颜色选择器支持。如果你想处理一个相当随机的颜色名称列表,你必须按照Hovercraft的回答来自己处理。