0

public SubMenuItemCommand(MenuObject menuItem,JsArray listOfMenu,ToothWidgettoothWidget){ this.menuItem=menuItem; this.listOfMenu=listOfMenu; this.toothWidget=toothWidget; }

cb1.addClickHandler(新 ClickHandler(){

                public void onClick(ClickEvent event) {

                    System.out.println(menuItem.getImage());
                    boolean checked = ((CheckBox) event.getSource()).getValue();
                    if (checked) {
                        System.out.println("hello3");
                        int left = toothWidget.getToothImage().getAbsoluteLeft();
                        int top =  toothWidget.getVPanel().getAbsoluteTop();//toothWidget.getToothImage().getAbsoluteTop();
                        Image im = new Image();
                        im.setUrl("images/"+menuItem.getImg());
                        int offx = left;
                        int offy = top;     
                        final PopupPanel popup1 = new PopupPanel(true);
                        popup1.setStylePrimaryName("transparent");
                        popup1.setPopupPosition(Math.max(offx, 0),Math.max(offy, 0));
                        //popup.add(im);
                        ToothWidget wgt = new ToothWidget(toothWidget.getToothNumber(),menuItem.getImg(), toothWidget.getTeeth());
                        toothWidget.getTeeth().getMap().get(toothWidget.getToothNumber()).put(menuItem.getName(), wgt);
                        wgt.setMenu(toothWidget.getMenu());
                        wgt.setPanel(popup1);
                        popup1.add(wgt);
                        popup1.show();
                    }

                    else{
                        ToothWidget wgt = toothWidget.getTeeth().getMap().get(toothWidget.getToothNumber()).remove(menuItem.getName());
                        wgt.getPanel().hide();
                    }
                }
             });
4

1 回答 1

0

通常是路径问题。即图像位置不是您设置的。

如果您的 gwt 模块的公共文件夹中有images文件夹,则需要使用 im.setUrl(GWT.getModuleBaseURL()+"/images/"+menuItem.getImg());

如果您的战争/图像中有图像,则需要使用
im.setUrl(GWT.getHostPageBaseURL()+"/images/"+menuItem.getImg());

您也可以随时使用 FireFox/FireBug 的网络/图像控制台来检查正在访问的 URL。

于 2013-01-07T10:13:27.063 回答