Java tutorial
/** * * ESUP-Portail MONDOSSIERWEB - Copyright (c) 2016 ESUP-Portail consortium * * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package fr.univlorraine.mondossierweb.views.windows; import javax.annotation.Resource; import lombok.Getter; import org.springframework.beans.factory.annotation.Configurable; import org.springframework.context.ApplicationContext; import com.vaadin.server.FontAwesome; import com.vaadin.shared.ui.label.ContentMode; import com.vaadin.ui.Alignment; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.CheckBox; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.Window; import com.vaadin.ui.themes.ValoTheme; /** * Fentre d'aide */ @Configurable(preConstruction = true) public class HelpWindow extends Window { private static final long serialVersionUID = -1792808588462463042L; /* Injections */ @Resource private transient ApplicationContext applicationContext; /* Composants */ private Button btnFermer = new Button(); @Getter private CheckBox checkBox = new CheckBox(); public void addBtnNonListener(ClickListener clickListener) { btnFermer.addClickListener(clickListener); } public void removeBtnNonListener(ClickListener clickListener) { btnFermer.removeClickListener(clickListener); } /** * Cre une fentre de confirmation avec un message et un titre par dfaut */ public HelpWindow() { this(null, null, false); } /** * Cre une fentre de confirmation avec un titre par dfaut * @param message */ public HelpWindow(String message) { this(message, null, false); } /** * Cre une fentre de confirmation * @param message * @param titre */ public HelpWindow(String message, String titre, boolean displayCheckBox) { /* Style */ setWidth(900, Unit.PIXELS); setModal(true); setResizable(false); setClosable(false); /* Layout */ VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); layout.setSpacing(true); setContent(layout); /* Titre */ if (titre == null) { titre = applicationContext.getMessage("helpWindow.defaultTitle", null, getLocale()); } setCaption(titre); /* Texte */ Label textLabel = new Label(message, ContentMode.HTML); layout.addComponent(textLabel); /* Boutons */ HorizontalLayout buttonsLayout = new HorizontalLayout(); buttonsLayout.setWidth(100, Unit.PERCENTAGE); buttonsLayout.setSpacing(true); layout.addComponent(buttonsLayout); if (displayCheckBox) { checkBox.setCaption(applicationContext.getMessage("helpWindow.checkBox.message", null, getLocale())); buttonsLayout.addComponent(checkBox); buttonsLayout.setComponentAlignment(checkBox, Alignment.MIDDLE_RIGHT); } btnFermer.setCaption(applicationContext.getMessage("helpWindow.btnFermer", null, getLocale())); btnFermer.setIcon(FontAwesome.TIMES); btnFermer.addClickListener(e -> close()); buttonsLayout.addComponent(btnFermer); buttonsLayout.setComponentAlignment(btnFermer, Alignment.MIDDLE_RIGHT); if (displayCheckBox) { buttonsLayout.setExpandRatio(checkBox, 1); } /* Centre la fentre */ center(); } }