新手关于使用color的问题 一个简单GUI程序,要求在一个text field输入13种标准颜色之一,然后画相应颜色的图形。例如输入的颜色 String clr = jtfcolor.getText(), 发现 setColor(Color.clr) 报错,找不到变量。而使用Color newColor = new Color(clr) 没有这样的构造函数。真是不知道该怎么使用这个输入的字符串,希望高手给个提示 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也是新手,不知道说的对不对,我的想法:首先这样是一定不行的setColor(Color.clr)Color.后面只能跟它方法和它的常量,当然错误newColor = new Color(clr) 没有这样的构造函数,因为Color类不提供string参数的构造方法。解决:String S = jtfcolor.getText().trim();然后对s进行判断,比如s=blue,那么setColor(Color.blue); 其他如果Color类中没有的常量,用Color(int r,int g,int b)构造方法,用rgb颜色标准去构造颜色对象,然后再setcolor楼主一定没看过java的doc, 用Color(int r,int g,int b)构造方法用rgb颜色标准去构造颜色对象,然后再setcolor 我没说清楚吗? Color(int r, int g, intb) 构造方法我当然知道。现在的问题是在文本框中输入13种标准颜色之一(得到字符串),你难道要我去反查13种颜色的RGB?就算这样,很可能也要13个if去setcolor。我是想问有没有什么方法直接带字符串到setcolor中。谢谢! 你是说,人家输入“RED”你要得到Color.RED??!!要么用反射我建议你还是用下拉菜单,里面每个item都是用这些颜色做背景import java.awt.*;import java.lang.reflect.*;public class Test { public static void main(String[] args) { try { String strColor = "RED"; Field field = Color.class.getField(strColor.toUpperCase()); Color color = (Color) field.get(null); System.out.println(color); } catch (Exception ex) { ex.printStackTrace(); } }} 如果输入的是如red这样的字符串那只能通过反射或者通过字符串比较.如果输入的是字符串是int型的.可以把String转换成int.用Color(int, int, int)来构造. 字节转十六进制 求与group by有关的SQL,100分相送 如何写文件中的指定一行??? 本人是菜鸟.求高手!怎么做个公司的雇员工资支付程序~~~ 有没有将科学计数法转换成一般数字的方法? 比如-1.23E-3 转换为 -0.00123 菜鸟问题 如何控制浮点数的输出位数 about sun(tm),java(tm),what means tm? 如何引用jar打包的类文件? 高分求解!redhat linux7.2+jdk1.4的中文显示问题. HttpURLConnection的郁闷问题,请问这个问题谁碰到过啊? Java 的 Socket及其变态,请大家看看(解决了再加分,谢谢)
首先这样是一定不行的setColor(Color.clr)
Color.后面只能跟它方法和它的常量,当然错误
newColor = new Color(clr) 没有这样的构造函数,因为Color类不提供string参数的构造方法。
解决:
String S = jtfcolor.getText().trim();
然后对s进行判断,比如s=blue,那么setColor(Color.blue);
楼主一定没看过java的doc,
用rgb颜色标准去构造颜色对象,
然后再setcolor
import java.lang.reflect.*;public class Test {
public static void main(String[] args) {
try {
String strColor = "RED";
Field field = Color.class.getField(strColor.toUpperCase());
Color color = (Color) field.get(null);
System.out.println(color);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
如果输入的是字符串是int型的.可以把String转换成int.用Color(int, int, int)来构造.