gwtupload输入类型自定义

时间:2013-12-11 09:22:10

标签: java css gwt gwtupload

我使用gwtupload libary来更改我的应用程序的上传视图。我想实现与本例"Single uploader using a customizable button..."基本相同的实现。因此我有一个自定义按钮类:

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调试模式调试它,但没有来自我的服装形式的证据。不太清楚为什么。 thx任何帮助。

//编辑: 修复了一些事情,知道我有自定义按钮,并且每个 setAutoSubmit(true); 我禁用了“发送/提交”按钮。禁用工作正常,但它只是看不见所以它在那里并占用空间这是一个问题,因为我的上传器在另一个面板内,并知道我无法居中,因为它是提交按钮的中心。那么我该如何删除或重叠按钮。 CSS? thx:)

1 个答案:

答案 0 :(得分:0)

我用Css和postion解决了这个问题。

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

gwtupload框架非常好,但对于这个简单的任务要多得多。对于带动画等的multipy fileupload,我可以推荐它:)