为了在我的应用程序中保存图形对象的Color属性,我将此Color的字符串表示保存在数据文件中.例如,对于红色我保存:java.awt.Color[r=255,g=0,b=0].如何将此字符串表示转换为Color,以便在加载数据文件后再次使用它?
谢谢.
ite*_*ter 16
您可能希望使用getRGB()而不是toString().你可以打电话
String colorS = Integer.toString(myColor.getRGB());
然后你可以打电话
Color c = new Color(Integer.parseInt(colorS));
从文档 Color#toString
返回 this 的字符串表示形式
Color。此方法仅用于调试目的。返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null。
换句话说,我不会依赖于能够将字符串反向转换为Color. 但是,如果您坚持这样做,您可以尝试解析字符串中的数字,并希望它可以在没有保证的情况下正常工作。
像这样的事情现在似乎对我有用:
Scanner sc = new Scanner("java.awt.Color[r=1,g=2,b=3]");
sc.useDelimiter("\\D+");
Color color = new Color(sc.nextInt(), sc.nextInt(), sc.nextInt());
Run Code Online (Sandbox Code Playgroud)
但是,我不建议实际执行此操作。