gwtupload输入类型costum



我使用gwtupload库来更改应用程序的上传视图。我想实现与本例基本相同的";使用自定义按钮的单个上传程序&";。因此,我有一个自定义按钮类:

public class CostumButton extends Composite implements HasClickHandlers {
    DecoratorPanel widget;
    public CostumButton() {
      widget = new DecoratorPanel();
      initWidget(widget);
      widget.setStyleName("costum-Button");
      widget.setSize("100%","100%");
    }
    public HandlerRegistration addClickHandler(ClickHandler handler) {
      return addDomHandler(handler, ClickEvent.getType());
    }

  }

和FileUploadFormImplDefault:

// new costum button
CostumButton button = new CostumButton();

// Create a FileUpload widget.
fileUpload = new SingleUploader(FileInputType.CUSTOM.with(button));
fileUpload.setTitle("costumFileUpload");
fileUpload.getWidget().setSize("100%", "50px");
RootPanel.get().add(fileUpload);

我的css文件:

.base-Button:active {
        position:relative;
        top:1px;
        border: none;
}
.costum-Button {
    cursor: pointer;
    background-color: green;
    background-image: url("resources/img/button_upload0.png");  
}
.custom-Button:hover {
    background-image: url("resources/img/button_upload0_hover.png");    
}

所有内容都加载了上传视图:

uploadForm = new FileUploadFormImplCostum(actionUrl);
add(uploadForm);

当我启动我的应用程序(在调试模式下)时,不会显示任何内容。我试着用chrome调试模式来调试它,但从我的服装形式中没有证据。不太确定为什么。谢谢你的帮助。

//编辑:修复了一些事情,我知道我有我的自定义按钮和每个setAutoSubmit(true)我禁用了";发送/提交";按钮禁用效果很好,但它只是不可见的,所以它就在那里,占用了空间,这是一个问题,因为我的上传器在另一个面板中,我知道我不能居中,因为它是提交按钮的中心。那么我该如何删除或重叠按钮呢。css?thx:)

我修复了Css和postion的问题。

提示:如果将来有人想自定义UploadForm,对于一个简单的单文件上传,可以更容易地在你的新表单(图像、按钮等)上添加一个clickHanderler,它可以在基本上传表单上执行元素点击。然后你可以将你的基本表单放置在显示区域之外,或者将其设置在新的自定义UploadForm后面,然后用css美化它。

gwtupload框架非常好,但对于这个简单的任务来说太多了。对于带有动画等的多文件上传,我可以推荐它:)

相关内容

  • 没有找到相关文章

最新更新