作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想列出类 Color.<color>
中的所有颜色.
在哪里可以找到列出的所有颜色?
最佳答案
在我看来,没有本地方法可以获得它。我只是检查 the Color API并且似乎没有任何功能可以为您提供默认颜色。但是你可以让他们通过反射获得所有的领域。在这里,我向您展示一个示例:
private static List<Color> allColors() throws ClassNotFoundException, IllegalAccessException {
List<Color> colors = new ArrayList<>();
Class clazz = Class.forName("javafx.scene.paint.Color");
if (clazz != null) {
Field[] field = clazz.getFields();
for (int i = 0; i < field.length; i++) {
Field f = field[i];
Object obj = f.get(null);
if(obj instanceof Color){
colors.add((Color) obj);
}
}
}
return colors;
}
此外,如果您想要颜色的名称,您可以在提取时从字段信息中检索它。例如,您可以返回一张带有名称和颜色信息的 map ,如上所示:
private static Map<String, Color> allColorsWithName() throws ClassNotFoundException, IllegalAccessException {
Map<String, Color> map = new HashMap<>();
Class clazz = Class.forName("javafx.scene.paint.Color");
if (clazz != null) {
Field[] field = clazz.getFields();
for (int i = 0; i < field.length; i++) {
Field f = field[i];
Object obj = f.get(null);
if(obj instanceof Color){
map.put(f.getName(), (Color) obj);
}
}
}
return map;
}
希望对您有所帮助。
关于javafx-2 - 如何在 JavaFX 中列出所有颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17464906/
我是一名优秀的程序员,十分优秀!