Button GWT Bootstrap3按钮图标显示得很晚(滞后)

Button GWT Bootstrap3按钮图标显示得很晚(滞后),button,gwt,icons,lag,gwtbootstrap3,Button,Gwt,Icons,Lag,Gwtbootstrap3,在我上传到screencast的视频中,您可以看到我的GWT Bootstrap3(请参阅)项目的重新加载。我显示的页面几乎为空(因此不需要显示其他图标)。 当我按下chrome浏览器上的F5键时,视频开始。您会注意到,屏幕会重新加载,然后按钮显示为空白方块,然后用图标填充。 我怎样才能立即用图标显示它们 按钮作为按钮组中的按钮工具栏放置在垂直面板中 [……] [……] 我不确定是否确实是在什么时候绘制图标来替换正方形。它是在小部件的构造函数类中调用“initWidget(uiBinder

在我上传到screencast的视频中,您可以看到我的GWT Bootstrap3(请参阅)项目的重新加载。我显示的页面几乎为空(因此不需要显示其他图标)。 当我按下chrome浏览器上的F5键时,视频开始。您会注意到,屏幕会重新加载,然后按钮显示为空白方块,然后用图标填充。

我怎样才能立即用图标显示它们

按钮作为按钮组中的按钮工具栏放置在垂直面板中

[……]


[……]

我不确定是否确实是在什么时候绘制图标来替换正方形。它是在小部件的构造函数类中调用“initWidget(uiBinder.createAndBindUi(this));”的吗

如果你想说:嘿,买一台功能更强大的笔记本电脑,那么它会显示得更快。gwtbootstrap3示例(例如)立即正确显示

谢谢你的帮助
Hannes

图标是从中加载的。它们只是应用了适当CSS样式的
标记-此样式强制
标记的内容成为所需的图标。我敢打赌,问题在于字体的加载速度不够快。也许它没有被缓存?可能是从较慢的服务器加载的?检查浏览器的开发工具,查看字体从何处加载以及加载所需的时间。它应该从与您的webapp相关的文件夹中加载,除非您使用
GwtBootstrap3CDN.gwt.xml
模块。

真正解决问题的是对gwt 2.7的更改。所有性能问题都消失了。
此外,在上面的例子中,它有助于在ui.xml中设置ButtonToolBar不可见(setVisible(“false”))。在Ctor的末尾,让它可见“setVisible(“true”)。

我看到了你发布的视频,你正在用gwt代码svr运行应用程序,这是因为它的加载速度慢,请尝试使用生产模式。你是对的,它会减慢速度。。。但我的问题是,它等待加载图标图像,直到它显示它们。。。我不认为这与你的反馈代码有关。我检查了Chrome中字体的来源,发现它来自本地的(!)tomcat。引用的css()显示:@font-face{font-family:'FontAwesome';src:url('../font/FontAwesome-webfont.eot?v=4.3.0');src:url('../font/FontAwesome-webfont.eot?#iefix&v=4.3.0')格式('embedded-opentype')、url('../font/FontAwesome-webfont.woff2?v=4.3.0'))。还有其他想法吗?它在html中的引用方式是:嗯,这是正确的行为。您可以尝试更早地手动加载字体(可能在所有其他CSS和JS之前),方法是在主机页的
中放置适当的标记。
<g:VerticalPanel addStyleNames="{styles.tables.listBeanTable} ub-AbstractSummaryWidget">                                        

        <b:ButtonToolBar addStyleNames="{styles.summary.menuBar} hiddenPrint">
            <b:ButtonGroup >

                <b:Tooltip title="{msgs.refresh}" container="body">
                    <b:Button ui:field="refreshButton" icon="REFRESH"/>
                </b:Tooltip>
                <b:Tooltip title="Delete meeting" container="body">
                    <ui:attribute name="title" description="Label for button: delete meeting"/>
                    <b:Button ui:field="deleteMeetingButton" visible="false" icon="REMOVE"/>                    
                </b:Tooltip>