簡體   English   中英

如何刪除vaadin中的按鈕擴展名?

[英]How to remove button extensions in vaadin?

        downloadButton.addClickListener(new Button.ClickListener() {
        public void buttonClick(Button.ClickEvent event) {

           // if (downloadButton.getExtensions().size() > 0) {
           //    downloadButton.getExtensions().clear();
          //  }

            tmpFileErzeuger.erzeugeXMLDatei(selectedItems);

            FileResource fileResource = new FileResource(tmpFileErzeuger.addToZipFile());

            FileDownloader fileDownloader = new FileDownloader(fileResource);
            fileDownloader.extend(downloadButton);

        }
    });

以下代碼創建一個XML文件,進行壓縮(zip)(每個zip文件都有一個新文件名),最后將其下載到計算機上。 但是每次我更改內容並按下按鈕以使程序執行所有這些步驟以創建新的zip文件時,我會同時獲得舊文件和新創建的zip文件。 我實際上不想保留舊文件,僅保留新創建的文件。 有誰知道應該改變什么?

  FileDownloader f = new FileDownloader(new StreamResource(null, null)) {
        @Override public Resource getFileDownloadResource() {
             tmpFileErzeuger.erzeugeXMLDatei(selectedItems);
             return new FileResource(tmpFileErzeuger.addToZipFile());        
        }
    };

    f.extend(downloadButton);

我認為此解決方案可以!

在調用“ f.extend(downloadButton)”之前,必須確保刪除組件的所有先前擴展。

if (fileDownloader != null && downloadButton.getExtensions().contains(fileDownloader)) {
   downloadButton.removeExtension(fileDownloader);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM