Java tutorial
/******************************************************************************* * Copyright 2007-2014 FZI, http://www.fzi.de * Forschungszentrum Informatik - Information Process Engineering (IPE) * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership * * 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. * @author tzentek - <a href="mailto:zentek@fzi.de">Tom Zentek</a> * @author cyumusak - <a href="mailto:canyumusak@gmail.com">Can Yumusak</a> ******************************************************************************/ package de.fzi.fhemapi.view.vaadin.ui; import com.vaadin.ui.AbstractComponent; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; /** * Static class giving some help while creating the UI. * @author Can Yumussak * */ public final class UIHelper { private UIHelper() { } /** * Builds a rich text field. * @param text * @return */ public static Label buildRichTextField(String text) { Label label = new Label(); label.setImmediate(false); label.setWidth("-1px"); label.setHeight("-1px"); label.setValue(text); label.setContentMode(Label.CONTENT_XHTML); return label; } /** * Builds an attribute panel. This build a caption on the left side. This should be altered if * one would like to change the appearance of the whole UI. * @param attributeName the caption of the component * @param component a component * @return a horizontallayout. */ public static HorizontalLayout buildAttributePanel(String attributeName, AbstractComponent component) { // common part: create layout HorizontalLayout horizontalLayout = new HorizontalLayout(); horizontalLayout.setImmediate(false); horizontalLayout.setWidth("100.0%"); horizontalLayout.setHeight("-1px"); horizontalLayout.setMargin(false); horizontalLayout.addComponent(buildRichTextField("<b>" + attributeName + "</b>")); horizontalLayout.addComponent(component); component.setCaption(attributeName); // component.set return horizontalLayout; } }