设置JButton的用户定义颜色

时间:2014-05-07 02:06:21

标签: java swing colors jpanel jbutton

目前我在做:

private static JButton button;
button = new JButton();
button.setBackground(Color.RED);

这使我的按钮呈现红色。

我希望用户设置其颜色,用户输入的颜色存储在String color = "blue"中。我想要button.setBackground(color);这样的内容,以便它在button中提供blue

我该怎么做?

2 个答案:

答案 0 :(得分:2)

问题可归结为:如何从String中获取java.util.Color。使用反射可以直接从Color类中执行此操作,但最好创建一个简单的Map(例如HashMap<String, Color>),以便将字符串与相应的Color相关联。然后,当你在ActionListener中获得用户的字符串时,可以使用Map获取相应的Color,然后在JButton上调用setBackground(...)时使用Color。

答案 1 :(得分:0)

使用Color类将字符串转换为Color。您可以使用其方法将字符串表示转换为颜色,也可以使用反射来查找保留名称。您还可以考虑Swing颜色选择器支持。如果你想处理一个相当随机的颜色名称列表,你必须按照Hovercraft的回答来自己处理。