从字符串输入获取颜色

问题描述:

我正在制作一个应用程序,在某些时候我需要用户选择一种颜色,但不仅仅有50个radioButtons,我想知道是否可以真正获得它们的颜色想从文本字段或其他东西。从字符串输入获取颜色

+0

怎么样一个选择框? – Neal 2011-04-28 17:08:25

只是制作一个JComboBox或类似的东西会不会更容易?

但回答你的问题:是的,这是可能的。我给了一段代码,你可以使用作为一个开始,让你去(假设你仍然希望字符串颜色)

String text = "red"; 
Color color; 
Field field = Class.forName("java.awt.Color").getField(text.toLowerCase()); // toLowerCase because the color fields are RED or red, not Red 
color = (Color)field.get(null); 
+0

杜尔,我没有想到那个低谷。我想我会用一个组合框代替。 此外,谢谢回答我的实际问题,但我可能能够在其他情况下使用代码。 – Tom 2011-04-28 17:18:33

你总是可以使用一个选择框。

info on how to create a JComboBox

尝试

Color aColor = (Color) Color.class.getField("white").get(null); 

此外,

看看静态方法Color.decode()将成为你的目的。

+0

更新了'decode()'函数的链接:https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#decode(java.lang.String) – 2017-01-06 01:29:23

为什么不使用标准Swing组件的JColorChooser

你可以阅读教程here,但它是非常简单的使用,因为每一个Swing对话框,结果是一样的东西:

color chooser

尝试使用Color.parseColor(text);