我正在开发一个 Java 项目。我想让用户输入标签的颜色。我想做这样的事情,但是用一个字符串。
jLabel3.setForeground(Color.blue);
这是我尝试过的,但没有奏效:
String a = "blue";
jLabel3.setForeground(Color.a);
或者:
String a = "blue";
jLabel3.setForeground(a);
有没有可能用另一种方法来做到这一点?任何帮助都会很棒。谢谢你。
我正在开发一个 Java 项目。我想让用户输入标签的颜色。我想做这样的事情,但是用一个字符串。
jLabel3.setForeground(Color.blue);
这是我尝试过的,但没有奏效:
String a = "blue";
jLabel3.setForeground(Color.a);
或者:
String a = "blue";
jLabel3.setForeground(a);
有没有可能用另一种方法来做到这一点?任何帮助都会很棒。谢谢你。
这是一种方法:
Map<String, Color> colors = new HashMap<String, Color>();
// ...
colors.put("blue", Color.BLUE);
colors.put("red", Color.RED);
colors.put("green", Color.GREEN);
// other colors
然后像这样使用它:
String a = "blue";
jLabel3.setForeground(colors.get(a.toLowerCase()));
编辑:考虑一个颜色选择器。请参阅如何使用颜色选择器。
尝试反射:
Color color;
try {
Field field = Class.forName("java.awt.Color").getField("yellow");
color = (Color)field.get(null);
} catch (final Exception e) {
e.printStackTrace();
}
除此之外,您还可以创建颜色及其名称的地图。
不确定是否有更好的方法,但您可以执行以下操作:
If("blue".equals(a)){
jLabel3.setForeground(Color.blue);
}