我的自定义Vaadin 6主题不起作用

时间:2014-08-08 10:24:24

标签: java css themes liferay vaadin

我正在使用Vaadin 6.8.13并且我创建了自己的主题,只是为了设计单个按钮。我正在使用Eclipse Luna和Vaadin插件,我还将vaadin应用程序部署为Liferay上的portlet。但我的主题不起作用......

我已经完成了本书的所有内容,事实上我在eclipse中使用了vaadin主题向导为我做了一切。例如创建

  

的WebContent / VAADIN /主题/ mytheme的/ styles.css的

并在应用程序类中添加this.setTheme("mytheme");。但无济于事,我的styles.css文件如下所示:

@import url(../liferay/styles.css);

.v-button-wrap {
    background: #b20000 !important; /* Old browsers */
    background: -moz-linear-gradient(top, #b20000 0%, #e50000 50%, #b20000 100%) !important; /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b20000), color-stop(50%,#e50000), color-stop(100%,#b20000)) !important; /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #b20000 0%,#e50000 50%,#b20000 100%) !important; /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #b20000 0%,#e50000 50%,#b20000 100%) !important; /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #b20000 0%,#e50000 50%,#b20000 100%) !important; /* IE10+ */
    background: linear-gradient(to bottom, #b20000 0%,#e50000 50%,#b20000 100%) !important; /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b20000', endColorstr='#b20000',GradientType=0 ) !important; /* IE6-9 */
    color: #ffffff;
    text-shadow: none;
}
.v-button-wrap:hover {
    border: 1px solid #990000 !important;
}

我的Application类看起来像这样:

import com.vaadin.Application;
import com.vaadin.ui.*;

/**
 * Main application class.
 */
@SuppressWarnings("serial")
public class CheckroutesportletApplication extends Application {

    @Override
    public void init() {
        // Initializes the container and sets the main_screen
        Window container = new Window("Check Routes");
        container.addComponent(new MainScreen());
        setMainWindow(container);
        this.setTheme("mytheme");
    }

}

有人知道为什么会这样吗?人们常犯的错误可能是什么?

1 个答案:

答案 0 :(得分:0)

我认为你的问题在于,你需要将setTheme作为init中的第一个项目,然后vaadin才能解决问题。