GWT를 사용하여 메소드를 호출 할 수있을 때 구성 요소가 DOM에 첨부 된 후 플롯팅의 색상이 고정 되었습니까? 어떤 처리기를 적시에 구현해야합니까?gFlot GWT의 DOM에 부착 된 경우
편집 : 실제 상황은 같은 (부사장이 VerticalPanel입니다)입니다 :
plot=createPlotGraph();
if (plot!=null){
plot.setSize("100%","100%");
vp.add(plot);
vp.setCellHeight(plot, "100%");
plot.addAttachHandler(new AttachEvent.Handler() {
@Override
public void onAttachOrDetach(AttachEvent event) {
plot.getModel().getSeries().get(0).getAutoGeneratedColor()
System.out.println(plot.getModel().getSeries().length());
System.out.println(plot.getModel().getSeries().get(0).getColor());
}
});
}
나는 내가 화면의 모든 확인 참조, 실제로는 제대로 렌더링되는 3 개 (또는 그 이상)의 시리즈가 발견 , println에 의해 적어지는 색은 항상 null입니다.
다른 시도 :
if (plot!=null){
plot.setSize("100%","100%");
plot.addAttachHandler(new AttachEvent.Handler() {
@Override
public void onAttachOrDetach(AttachEvent event) {
System.out.println(plot.getModel().getSeries().length());
System.out.println(plot.getModel().getSeries().get(0).getColor());
}
});
vp.add(plot);
vp.setCellHeight(plot, "100%");
}
같은 결과
갱신, 다른 시도 :
plot.setSize("100%","100%");
plot.addAttachHandler(new AttachEvent.Handler() {
@Override
public void onAttachOrDetach(AttachEvent event) {
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
System.out.println(plot.getModel().getSeries().length());
System.out.println(plot.getModel().getSeries().get(0).getColor());
}
});
}
});
같은 결과 ... 널
첨부 처리기를 추가하고 플롯을 추가해야합니다. 그렇지 않으면 처리 할 핸들러를 추가하기 전에'AttachEvent'가 실행될 가능성이 있습니다 ... –
편집 결과에서 볼 수있는 방법을 시도했습니다 ... 동일한 결과 3 개, null 색상 –
내 업데이트 된 답변을 참조하십시오. –