Java 调整GWT中画布的大小,在div中使用d3 svg
我在canvas类别层中绘制了4个d3折线图,我有一个类别的canvas和div列表,如下所示Java 调整GWT中画布的大小,在div中使用d3 svg,java,gwt,d3.js,smartgwt,Java,Gwt,D3.js,Smartgwt,我在canvas类别层中绘制了4个d3折线图,我有一个类别的canvas和div列表,如下所示 private ArrayList<Canvas> catCanvasList; private ArrayList<Element> catDivList; private int categoryCount = 0; VLayout categoryLayer; catCanvasList = new ArrayList<Canvas>(); catDivLi
private ArrayList<Canvas> catCanvasList;
private ArrayList<Element> catDivList;
private int categoryCount = 0;
VLayout categoryLayer;
catCanvasList = new ArrayList<Canvas>();
catDivList = new ArrayList<Element>();
categoryCount = data.getCategories().size();
for (int i = 0; i < categoryCount; i++) {
Canvas cat = new Canvas();
cat.setWidth100();
cat.setHeight100();
categoryLayer.addMember(cat);
catCanvasList.add(cat);
}
int a= 0;
for( final String key: data.getCategories()){
final Canvas c = catCanvasList.get(a);
final Element div = DOM.createDiv();
catDivList.add(div);
createD3Vis(div,key,data);
a++
}
但上述方法不适用于调整大小,也不删除div元素
对
我想在窗口上调整画布的大小,并用新的高度和宽度重新绘制d3 vis
有人能告诉我哪里出了问题吗
categoryLayer.addResizedHandler(new ResizedHandler() {
@Override
public void onResized(ResizedEvent event) {
if (!catDivList.isEmpty() && !catCanvasList.isEmpty()) {
for (Element div : catDivList) {
div.removeFromParent();
}
catDivList.clear();
for(final Canvas c:catCanvasList){
c.getDOM().removeAllChildren();
}
}
int a= 0;
for( final String key: data.getCategories()){
final Canvas c = catCanvasList.get(a);
final Element div = DOM.createDiv();
catDivList.add(div);
createD3Vis(div,key,data);
a++
}
}
});