有个小feature,要给logon window加背景图片。以为很简单,结果还是花了大半天时间。
Window没有直接的set方法,于是google,理解是用css,在自己的css文件里写background-image,在java code里setStyle:
.cb{
background-image:url(../images/bg.gif") !important
}
.....
component.setStyle("cb");
这样的结果是背景图片load进来了,但不能显示出来:会被遮住。试了很多种方法,最后发现要设bodystyle:
window.setBodyStyle("background-image:url(js/ext/resources/images/best/bg.gif);");
这样的结果是背景图片可以显示了,但整个window还有一点边框(虽然setBorder(false); setFrame(false)了)。
整个window显示为一个图片,没有任何边框,是用this.setDraggable(false); this.setFrame(false);。
以前登录界面上直接放一个FormPanel,往FormPanel里塞字段就好了。现在有了图片,找不到别的好方法,只能用绝对左边了。formPanel, copyrightLabel, errorLabel都用了.setStyle("position:absolute;left:1;top:175;"); 比较土。