List of usage examples for com.vaadin.ui Upload Upload
public Upload(String caption, Receiver uploadReceiver)
From source file:lifetime.component.user.ProfileView.java
License:Apache License
private void initUploadAndReceiver() { receiver = new PhotoReceiver(username, this); // Upload layout upload = new Upload("Add your favourite photo", receiver); upload.addSucceededListener(receiver); upload.setImmediate(true);/*from w w w . jav a 2s.co m*/ //base.addComponent(upload); }
From source file:net.sourceforge.javydreamercsw.validation.manager.web.ValidationManagerUI.java
License:Apache License
private void createRequirementSpecNodeMenu(ContextMenu menu) { MenuItem create = menu.addItem(TRANSLATOR.translate("create.requiremnet"), VaadinIcons.PLUS, (MenuItem selectedItem) -> { Requirement r = new Requirement(); r.setRequirementSpecNode((RequirementSpecNode) tree.getValue()); displayRequirement(r, true); });//from w w w.j a v a2 s . co m create.setEnabled(checkRight("requirement.modify")); MenuItem edit = menu.addItem(TRANSLATOR.translate("edit.req.spec.node"), EDIT_ICON, (MenuItem selectedItem) -> { displayRequirementSpecNode((RequirementSpecNode) tree.getValue(), true); }); edit.setEnabled(checkRight("requirement.modify")); MenuItem importRequirement = menu.addItem(TRANSLATOR.translate("import.requirement"), IMPORT_ICON, (MenuItem selectedItem) -> {// Create a sub-window and set the content Window subWindow = new VMWindow(TRANSLATOR.translate("import.requirement")); VerticalLayout subContent = new VerticalLayout(); subWindow.setContent(subContent); //Add a checkbox to know if file has headers or not CheckBox cb = new CheckBox(TRANSLATOR.translate("file.has.header")); FileUploader receiver = new FileUploader(); Upload upload = new Upload(TRANSLATOR.translate("upload.excel"), receiver); upload.addSucceededListener((Upload.SucceededEvent event1) -> { try { subWindow.close(); //TODO: Display the excel file (partially), map columns and import //Process the file RequirementImporter importer = new RequirementImporter(receiver.getFile(), (RequirementSpecNode) tree.getValue()); importer.importFile(cb.getValue()); importer.processImport(); buildProjectTree(tree.getValue()); updateScreen(); } catch (RequirementImportException ex) { LOG.log(Level.SEVERE, TRANSLATOR.translate("import.error"), ex); Notification.show(TRANSLATOR.translate("import.unsuccessful"), Notification.Type.ERROR_MESSAGE); } catch (VMException ex) { LOG.log(Level.SEVERE, null, ex); } }); upload.addFailedListener((Upload.FailedEvent event1) -> { LOG.log(Level.SEVERE, "Upload unsuccessful!\n{0}", event1.getReason()); Notification.show(TRANSLATOR.translate("upload.unsuccessful"), Notification.Type.ERROR_MESSAGE); subWindow.close(); }); subContent.addComponent(cb); subContent.addComponent(upload); // Open it in the UI addWindow(subWindow); }); importRequirement.setEnabled(checkRight("requirement.modify")); }
From source file:net.sourceforge.javydreamercsw.validation.manager.web.ValidationManagerUI.java
License:Apache License
private void createTestCaseMenu(ContextMenu menu) { MenuItem create = menu.addItem(TRANSLATOR.translate("create.step"), VaadinIcons.PLUS, (MenuItem selectedItem) -> { TestCase tc = (TestCase) tree.getValue(); Step s = new Step(); s.setStepSequence(tc.getStepList().size() + 1); s.setTestCase(tc);/* ww w . j av a 2s . c om*/ displayStep(s, true); }); create.setEnabled(checkRight("requirement.modify")); MenuItem edit = menu.addItem(TRANSLATOR.translate("edit.test.case"), EDIT_ICON, (MenuItem selectedItem) -> { displayTestCase((TestCase) tree.getValue(), true); }); edit.setEnabled(checkRight("testcase.modify")); MenuItem importSteps = menu.addItem(TRANSLATOR.translate("import.step"), IMPORT_ICON, (MenuItem selectedItem) -> { // Create a sub-window and set the content Window subWindow = new VMWindow(TRANSLATOR.translate("import.test.case.step")); VerticalLayout subContent = new VerticalLayout(); subWindow.setContent(subContent); //Add a checkbox to know if file has headers or not CheckBox cb = new CheckBox(TRANSLATOR.translate("file.has.header")); FileUploader receiver = new FileUploader(); Upload upload = new Upload(TRANSLATOR.translate("upload.excel"), receiver); upload.addSucceededListener((Upload.SucceededEvent event1) -> { try { subWindow.close(); //TODO: Display the excel file (partially), map columns and import //Process the file TestCase tc = (TestCase) tree.getValue(); StepImporter importer = new StepImporter(receiver.getFile(), tc); importer.importFile(cb.getValue()); importer.processImport(); SortedMap<Integer, Step> map = new TreeMap<>(); tc.getStepList().forEach((s) -> { map.put(s.getStepSequence(), s); }); //Now update the sequence numbers int count = 0; for (Entry<Integer, Step> entry : map.entrySet()) { entry.getValue().setStepSequence(++count); try { new StepJpaController(DataBaseManager.getEntityManagerFactory()) .edit(entry.getValue()); } catch (Exception ex) { LOG.log(Level.SEVERE, null, ex); } } buildProjectTree(new TestCaseServer(tc.getTestCasePK()).getEntity()); updateScreen(); } catch (TestCaseImportException ex) { LOG.log(Level.SEVERE, TRANSLATOR.translate("import.error"), ex); Notification.show(TRANSLATOR.translate("import.unsuccessful"), Notification.Type.ERROR_MESSAGE); } }); upload.addFailedListener((Upload.FailedEvent event1) -> { LOG.log(Level.SEVERE, "Upload unsuccessful!\n{0}", event1.getReason()); Notification.show(TRANSLATOR.translate("upload.unsuccessful"), Notification.Type.ERROR_MESSAGE); subWindow.close(); }); subContent.addComponent(cb); subContent.addComponent(upload); // Open it in the UI addWindow(subWindow); }); importSteps.setEnabled(checkRight("requirement.modify")); MenuItem export = menu.addItem(TRANSLATOR.translate("general.export"), VaadinIcons.DOWNLOAD, (MenuItem selectedItem) -> { TestCase tc = (TestCase) tree.getValue(); UI.getCurrent().addWindow(TestCaseExporter.getTestCaseExporter(Arrays.asList(tc))); }); export.setEnabled(checkRight("testcase.view")); addExecutionDashboard(menu); }
From source file:nl.kpmg.lcm.ui.view.administration.components.RemoteLcmCreateWindow.java
License:Apache License
private HorizontalLayout createUploadLayout() { HorizontalLayout fieldLayout = new HorizontalLayout(); // Create the upload with a caption and set fileReceiver later certificateUpload = new Upload("Select certificate file", fileReceiver); certificateUpload.addSucceededListener(fileReceiver); certificateUpload.addFailedListener(fileReceiver); certificateUpload.setButtonCaption(null); fieldLayout.setWidth("100%"); fieldLayout.addStyleName("margin-top-10"); fieldLayout.addComponent(certificateUpload); return fieldLayout; }
From source file:nz.co.senanque.workflowui.AttachmentPopup.java
License:Apache License
public void load(final long pid) { panel.removeAllComponents();//from w ww . jav a 2s .c o m final Upload upload = new Upload(null, receiver); upload.setImmediate(true); upload.setButtonCaption(m_messageSourceAccessor.getMessage("upload.file", "Upload File")); checkbox = new CheckBox(m_messageSourceAccessor.getMessage("upload.protected", "Protected")); comment = new TextField(m_messageSourceAccessor.getMessage("upload.comment", "Comment")); panel.addComponent(comment); panel.addComponent(checkbox); panel.addComponent(upload); upload.addFinishedListener(new Upload.FinishedListener() { private static final long serialVersionUID = 1L; public void uploadFinished(FinishedEvent event) { Attachment attachment = receiver.getWrapper().getCurrentAttachment(); attachment.setProcessInstanceId(pid); attachment.setComment((String) comment.getValue()); attachment.setProtectedDocument((boolean) checkbox.getValue()); m_workflowDAO.addAttachment(attachment); close(); } }); if (getParent() == null) { UI.getCurrent().addWindow(this); this.center(); } }
From source file:org.adho.dhconvalidator.ui.ConverterPanel.java
/** Setup GUI. */ private void initComponents() { setMargin(true);//from ww w . jav a2s. c om setSizeFull(); setSpacing(true); HeaderPanel headerPanel = new HeaderPanel(null); addComponent(headerPanel); Label title = new Label(Messages.getString("ConverterPanel.title")); title.addStyleName("title-caption"); addComponent(title); setComponentAlignment(title, Alignment.TOP_LEFT); Label info = new Label(Messages.getString("ConverterPanel.info"), ContentMode.HTML); addComponent(info); HorizontalLayout inputPanel = new HorizontalLayout(); inputPanel.setSpacing(true); addComponent(inputPanel); upload = new Upload(Messages.getString("ConverterPanel.uploadCaption"), new Receiver() { @Override public OutputStream receiveUpload(String filename, String mimeType) { // we store the uploaded content in the panel instance ConverterPanel.this.filename = filename; ConverterPanel.this.uploadContent = new ByteArrayOutputStream(); return ConverterPanel.this.uploadContent; } }); inputPanel.addComponent(upload); progressBar = new ProgressBar(); progressBar.setIndeterminate(true); progressBar.setVisible(false); inputPanel.addComponent(progressBar); inputPanel.setComponentAlignment(progressBar, Alignment.MIDDLE_CENTER); progressBar.addStyleName("converterpanel-progressbar"); resultCaption = new Label(Messages.getString("ConverterPanel.previewTitle2")); resultCaption.setWidth("100%"); resultCaption.addStyleName("converterpanel-resultcaption"); addComponent(resultCaption); setComponentAlignment(resultCaption, Alignment.MIDDLE_CENTER); resultPanel = new HorizontalSplitPanel(); addComponent(resultPanel); resultPanel.setSizeFull(); setExpandRatio(resultPanel, 1.0f); preview = new Label("", ContentMode.HTML); preview.addStyleName("tei-preview"); resultPanel.addComponent(preview); VerticalLayout rightPanel = new VerticalLayout(); rightPanel.setMargin(new MarginInfo(false, false, true, true)); rightPanel.setSpacing(true); resultPanel.addComponent(rightPanel); logArea = new Label("", ContentMode.HTML); logArea.setSizeFull(); logArea.setReadOnly(true); rightPanel.addComponent(logArea); downloadInfo = new Label(Messages.getString("ConverterPanel.downloadMsg")); rightPanel.addComponent(downloadInfo); downloadInfo.setVisible(false); btDownloadResult = new Button(Messages.getString("ConverterPanel.downloadBtCaption")); btDownloadResult.setVisible(false); rightPanel.addComponent(btDownloadResult); rightPanel.setComponentAlignment(btDownloadResult, Alignment.BOTTOM_CENTER); btDownloadResult.setHeight("50px"); rightPanel.addComponent(new Label(Messages.getString("ConverterPanel.exampleMsg"))); Button btExample = new Button(Messages.getString("ConverterPanel.exampleButtonCaption")); btExample.setStyleName(BaseTheme.BUTTON_LINK); btExample.addStyleName("plain-link"); rightPanel.addComponent(btExample); confToolLabel = new Label( Messages.getString("ConverterPanel.gotoConfToolMsg", PropertyKey.conftool_login_url.getValue()), ContentMode.HTML); confToolLabel.setVisible(false); confToolLabel.addStyleName("postDownloadInfoRedAndBold"); rightPanel.addComponent(confToolLabel); new BrowserWindowOpener(DHConvalidatorExample.class).extend(btExample); }
From source file:org.apache.usergrid.chop.webapp.view.user.KeyListLayout.java
License:Apache License
void addUploadControls() { keyNameField.setWidth("290px"); keyNameField.setValue("key-pair-name"); addComponent(keyNameField, "left: 0px; top: 50px;"); Upload upload = new Upload("", this); upload.setButtonCaption("Add"); upload.addSucceededListener(this); addComponent(upload, "left: 0px; top: 80px;"); }
From source file:org.bubblecloud.ilves.module.content.AssetFlowlet.java
License:Apache License
@Override public void initialize() { entityManager = getSite().getSiteContext().getObject(EntityManager.class); final GridLayout gridLayout = new GridLayout(1, 3); gridLayout.setSizeFull();//w w w .j a v a2 s. co m gridLayout.setMargin(false); gridLayout.setSpacing(true); gridLayout.setRowExpandRatio(1, 1f); setViewContent(gridLayout); assetEditor = new ValidatingEditor( FieldSetDescriptorRegister.getFieldSetDescriptor(Asset.class).getFieldDescriptors()); assetEditor.setCaption("Asset"); assetEditor.addListener(this); gridLayout.addComponent(assetEditor, 0, 1); final Upload upload = new Upload(getSite().localize("field-file-upload"), new Upload.Receiver() { @Override public OutputStream receiveUpload(String filename, String mimeType) { try { temporaryFile = File.createTempFile(entity.getAssetId(), ".upload"); return new FileOutputStream(temporaryFile, false); } catch (IOException e) { throw new SiteException("Unable to create temporary file for upload.", e); } } }); upload.setButtonCaption(getSite().localize("button-start-upload")); upload.addSucceededListener(new Upload.SucceededListener() { @Override public void uploadSucceeded(Upload.SucceededEvent event) { if (event.getLength() == 0) { return; } if (temporaryFile.length() > Long .parseLong(PropertiesUtil.getProperty("site", "asset-maximum-size"))) { Notification.show(getSite().localize("message-file-too-large"), Notification.Type.ERROR_MESSAGE); return; } entity.setName(event.getFilename().substring(0, event.getFilename().lastIndexOf('.'))); entity.setExtension(event.getFilename().substring(event.getFilename().lastIndexOf('.') + 1)); entity.setType(event.getMIMEType()); entity.setSize((int) event.getLength()); assetEditor.setItem(new BeanItem<Asset>(entity), assetEditor.isNewItem()); save(); } }); gridLayout.addComponent(upload, 0, 0); final HorizontalLayout buttonLayout = new HorizontalLayout(); buttonLayout.setSpacing(true); gridLayout.addComponent(buttonLayout, 0, 2); saveButton = getSite().getButton("save"); buttonLayout.addComponent(saveButton); saveButton.addClickListener(new ClickListener() { /** Serial version UID. */ private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { if (isValid()) { save(); } else { Notification.show(getSite().localize("message-invalid-form-asset"), Notification.Type.HUMANIZED_MESSAGE); } } }); discardButton = getSite().getButton("discard"); buttonLayout.addComponent(discardButton); discardButton.addClickListener(new ClickListener() { /** Serial version UID. */ private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { assetEditor.discard(); if (temporaryFile != null) { temporaryFile.deleteOnExit(); temporaryFile = null; } } }); editPrivilegesButton = getSite().getButton("edit-privileges"); buttonLayout.addComponent(editPrivilegesButton); editPrivilegesButton.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { final PrivilegesFlowlet privilegesFlowlet = getFlow().getFlowlet(PrivilegesFlowlet.class); privilegesFlowlet.edit(entity.getName(), entity.getAssetId(), "view", "edit"); getFlow().forward(PrivilegesFlowlet.class); } }); }
From source file:org.escidoc.browser.ui.listeners.AddMetaDataFileItemBehaviour.java
License:Open Source License
public void showAddWindow() { final Window subwindow = new Window(ViewConstants.ADD_ITEM_S_METADATA); subwindow.setWidth("600px"); subwindow.setModal(true);/* w w w . jav a 2s .c o m*/ receiver = new MetadataFileReceiver(); // Make uploading start immediately when file is selected upload = new Upload("", receiver); upload.setImmediate(true); upload.setButtonCaption("Select file"); progressLayout.setSpacing(true); progressLayout.setVisible(false); progressLayout.addComponent(pi); progressLayout.setComponentAlignment(pi, Alignment.MIDDLE_LEFT); /** * =========== Add needed listener for the upload component: start, progress, finish, success, fail =========== */ upload.addListener(new Upload.StartedListener() { @Override public void uploadStarted(final StartedEvent event) { upload.setVisible(false); progressLayout.setVisible(true); pi.setValue(Float.valueOf(0f)); pi.setPollingInterval(500); status.setValue("Uploading file \"" + event.getFilename() + "\""); } }); upload.addListener(new Upload.SucceededListener() { @Override public void uploadSucceeded(final SucceededEvent event) { // This method gets called when the upload finished successfully status.setValue("Uploading file \"" + event.getFilename() + "\" succeeded"); final String fileContent = receiver.getFileContent(); final boolean isWellFormed = XmlUtil.isWellFormed(fileContent); receiver.setWellFormed(isWellFormed); if (isWellFormed) { status.setValue(ViewConstants.XML_IS_WELL_FORMED); hl.setVisible(true); upload.setEnabled(false); } else { status.setValue(ViewConstants.XML_IS_NOT_WELL_FORMED); } } }); upload.addListener(new Upload.FailedListener() { @Override public void uploadFailed(final FailedEvent event) { // This method gets called when the upload failed status.setValue("Uploading interrupted"); } }); upload.addListener(new Upload.FinishedListener() { @Override public void uploadFinished(final FinishedEvent event) { // This method gets called always when the upload finished, // either succeeding or failing progressLayout.setVisible(false); upload.setVisible(true); upload.setCaption("Select another file"); } }); mdName = new TextField("Metadata name"); mdName.setValue(""); mdName.setImmediate(true); mdName.setValidationVisible(false); hl = new HorizontalLayout(); hl.setMargin(true); final Button btnAdd = new Button("Save", new Button.ClickListener() { Item item; private boolean containSpace(final String text) { final Pattern pattern = Pattern.compile("\\s"); final Matcher matcher = pattern.matcher(text); return matcher.find(); } @Override public void buttonClick(final ClickEvent event) { if (mdName.getValue().equals("")) { mdName.setComponentError(new UserError("You have to add a name for your MetaData")); } else if (containSpace(((String) mdName.getValue()))) { mdName.setComponentError(new UserError("The name of MetaData can not contain space")); } else { mdName.setComponentError(null); if (receiver.getFileContent().isEmpty()) { upload.setComponentError( new UserError("Please select a well formed XML file as metadata.")); } else if (!receiver.isWellFormed()) { upload.setComponentError(new UserError(ViewConstants.XML_IS_NOT_WELL_FORMED)); } else { final MetadataRecord metadataRecord = new MetadataRecord(mdName.getValue().toString()); try { item = repositories.item().findItemById(resourceProxy.getId()); metadataRecord.setContent(getMetadataContent()); repositories.item().addMetaData(metadataRecord, item); upload.setEnabled(true); subwindow.getParent().removeWindow(subwindow); } catch (final EscidocClientException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } catch (final SAXException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } catch (final IOException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } catch (final ParserConfigurationException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } } } } }); final Button cnclAdd = new Button("Cancel", new Button.ClickListener() { @Override public void buttonClick(final ClickEvent event) { (subwindow.getParent()).removeWindow(subwindow); } }); hl.addComponent(btnAdd); hl.addComponent(cnclAdd); subwindow.addComponent(mdName); subwindow.addComponent(status); subwindow.addComponent(upload); subwindow.addComponent(progressLayout); subwindow.addComponent(hl); mainWindow.addWindow(subwindow); }
From source file:org.escidoc.browser.ui.listeners.AddMetaDataFileItemComponentBehaviour.java
License:Open Source License
public void showAddWindow() { final Window subwindow = new Window(ViewConstants.ADD_ITEM_S_METADATA); subwindow.setWidth("600px"); subwindow.setModal(true);//from ww w . ja v a2 s .c om receiver = new MetadataFileReceiver(); // Make uploading start immediately when file is selected upload = new Upload("", receiver); upload.setImmediate(true); upload.setButtonCaption("Select file"); progressLayout.setSpacing(true); progressLayout.setVisible(false); progressLayout.addComponent(pi); progressLayout.setComponentAlignment(pi, Alignment.MIDDLE_LEFT); /** * =========== Add needed listener for the upload component: start, progress, finish, success, fail =========== */ upload.addListener(new Upload.StartedListener() { @Override public void uploadStarted(final StartedEvent event) { upload.setVisible(false); progressLayout.setVisible(true); pi.setValue(Float.valueOf(0f)); pi.setPollingInterval(500); status.setValue("Uploading file \"" + event.getFilename() + "\""); } }); upload.addListener(new Upload.SucceededListener() { @Override public void uploadSucceeded(final SucceededEvent event) { // This method gets called when the upload finished successfully status.setValue("Uploading file \"" + event.getFilename() + "\" succeeded"); final String fileContent = receiver.getFileContent(); final boolean isWellFormed = XmlUtil.isWellFormed(fileContent); receiver.setWellFormed(isWellFormed); if (isWellFormed) { status.setValue(ViewConstants.XML_IS_WELL_FORMED); hl.setVisible(true); upload.setEnabled(false); } else { status.setValue(ViewConstants.XML_IS_NOT_WELL_FORMED); } } }); upload.addListener(new Upload.FailedListener() { @Override public void uploadFailed(final FailedEvent event) { // This method gets called when the upload failed status.setValue("Uploading interrupted"); } }); upload.addListener(new Upload.FinishedListener() { @Override public void uploadFinished(final FinishedEvent event) { // This method gets called always when the upload finished, // either succeeding or failing progressLayout.setVisible(false); upload.setVisible(true); upload.setCaption("Select another file"); } }); mdName = new TextField("Metadata name"); mdName.setValue(""); mdName.setImmediate(true); mdName.setValidationVisible(false); hl = new HorizontalLayout(); hl.setMargin(true); final Button btnAdd = new Button("Save", new Button.ClickListener() { private boolean containSpace(final String text) { final Pattern pattern = Pattern.compile("\\s"); final Matcher matcher = pattern.matcher(text); return matcher.find(); } @Override public void buttonClick(final ClickEvent event) { if (mdName.getValue().equals("")) { mdName.setComponentError(new UserError("You have to add a name for your MetaData")); } else if (containSpace(((String) mdName.getValue()))) { mdName.setComponentError(new UserError("The name of MetaData can not contain space")); } else { mdName.setComponentError(null); if (receiver.getFileContent().isEmpty()) { upload.setComponentError( new UserError("Please select a well formed XML file as metadata.")); } else if (!receiver.isWellFormed()) { upload.setComponentError(new UserError(ViewConstants.XML_IS_NOT_WELL_FORMED)); } else { final MetadataRecord metadataRecord = new MetadataRecord(mdName.getValue().toString()); try { metadataRecord.setContent(getMetadataContent()); MetadataRecords mdRecs = component.getMetadataRecords(); if (mdRecs == null) { mdRecs = new MetadataRecords(); } mdRecs.add(metadataRecord); component.setMetadataRecords(mdRecs); controller.updateComponent(component, itemProxy.getId()); itemComponentMDView.addNewItem(metadataRecord); upload.setEnabled(true); subwindow.getParent().removeWindow(subwindow); } catch (final SAXException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } catch (final IOException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } catch (final ParserConfigurationException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } catch (EscidocClientException e) { LOG.error(e.getLocalizedMessage()); mdName.setComponentError(new UserError( "Failed to add the new Metadata record" + e.getLocalizedMessage())); } } } } }); final Button cnclAdd = new Button("Cancel", new Button.ClickListener() { @Override public void buttonClick(final ClickEvent event) { (subwindow.getParent()).removeWindow(subwindow); } }); hl.addComponent(btnAdd); hl.addComponent(cnclAdd); subwindow.addComponent(mdName); subwindow.addComponent(status); subwindow.addComponent(upload); subwindow.addComponent(progressLayout); subwindow.addComponent(hl); mainWindow.addWindow(subwindow); }