Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在GXT饼图中选择颜色_Java_Gwt_Gxt_Gxt Charts - Fatal编程技术网

Java 在GXT饼图中选择颜色

Java 在GXT饼图中选择颜色,java,gwt,gxt,gxt-charts,Java,Gwt,Gxt,Gxt Charts,我使用的是GXT(pro)图表。我试着画一个甜甜圈,显示对象状态的分布 让我们看3种状态: 好的:我希望它显示为绿色 柯:我希望它以红色显示 取消:我希望它以蓝色显示 让我们以这个数据模型为例: public class DataModel { private Status status; private Long count; public DataModel(Status status, Long count) { this.status = status;

我使用的是GXT(pro)图表。我试着画一个甜甜圈,显示对象状态的分布

让我们看3种状态:

  • 好的:我希望它显示为绿色
  • 柯:我希望它以红色显示
  • 取消:我希望它以蓝色显示
让我们以这个数据模型为例:

public class DataModel {

  private Status status;
  private Long count;

  public DataModel(Status status, Long count) {
    this.status = status;
    this.count = count;
  }

  public String getId() {
    return status.name();
  }

  public String getName() {
    return status.name()
  }

  public Long getData() {
    return rapportAvancement.getCount();
  }

}
以下是我设置颜色的方式:

public static final String[] COLORS_STR
 = new String[]{"#24b324", "#247bb3", "#b32424"};

[...]

for (Status status : Status.values()) {
  Gradient slice = new Gradient(status.name(), 0);
  slice.setId(status.name());
  slice.setColor(COLORS_STR[status.ordinal()]);
  chart.addGradient(slice);
  series.addColor(slice);
}
结果很好:

但如果只有2个区域,则颜色会发生变化(KO显示为蓝色而不是红色):


是否有一个选项允许根据标准分配颜色,而不是按顺序分配颜色?

我已经检查了API,似乎不可能。在迭代状态以创建切片时,是否可以避免添加任何没有任何数据的状态?

状态限制为3还是更多??我还想知道status.ordinal()的作用是什么return@Holla对为了问题的可读性,我将问题限制为3,但我在更多颜色上也有同样的问题。请回答我的完整问题“我可以知道
status.ordinal()
返回什么吗?”