新手关于使用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)来构造. 为什么url下载的html代码不完整 如何将一个方法的值返回到另一个方法体里? 日期格式化老出现异常 非常简单的一个编程基础性问题,谁会?谢 想用JAVA做开源软件的同志进来看看! java 中的抽象类和抽象方法怎样解释啊? 初学者的问题 请教各位: JVM在不同的平台上是否有区别?(即是否分JVM for x86, for SPARC, etc.)? 初学者的问题-关于编译问题! 不知道怎么下载和安装jdk 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)来构造.