GWT弹出式设置已启用(true)don';行不通
我正在创建一个带有相同文本的弹出面板,我想禁用背景并将其置为灰色。我读过关于setGlassEnabled的文章,但它不起作用,有人能帮忙吗?ps.弹出窗口已正确显示GWT弹出式设置已启用(true)don';行不通,gwt,popup,Gwt,Popup,我正在创建一个带有相同文本的弹出面板,我想禁用背景并将其置为灰色。我读过关于setGlassEnabled的文章,但它不起作用,有人能帮忙吗?ps.弹出窗口已正确显示 PopupPanel popup=新的PopupPanel(信息类型); popup.center(); popup.setGlassEnabled(真); popup.show(); 玻璃面板没有默认样式,因此默认为透明。如果希望背景灰显,则需要向玻璃面板添加一些CSS样式 另外,setGlassEnabled仅在下次显示弹出窗
PopupPanel popup=新的PopupPanel(信息类型);
popup.center();
popup.setGlassEnabled(真);
popup.show();
玻璃面板没有默认样式,因此默认为透明。如果希望背景灰显,则需要向玻璃面板添加一些CSS样式
另外,
setGlassEnabled
仅在下次显示弹出窗口时启用玻璃面板,在您的情况下,当您调用show
时,弹出窗口已经显示出来(因为之前调用了center
),因此它是一个无操作,并且玻璃面板实际上没有使用。在调用setGlassEnabled
之后将调用移动到center
和/或在调用setGlassEnabled
之前将调用移动到hide
将以下代码放在对话框构造函数的顶部似乎可以解决这个问题
setGlassEnabled(true);
Style glassStyle = getGlassElement().getStyle();
glassStyle.setProperty("width", "100%");
glassStyle.setProperty("height", "100%");
glassStyle.setProperty("backgroundColor", "#000");
glassStyle.setProperty("opacity", "0.45");
glassStyle.setProperty("mozOpacity", "0.45");
glassStyle.setProperty("filter", " alpha(opacity=45)");
setGlassEnabled()的javadoc说“背景将被半透明窗格阻挡”,这有点误导。事实上,它所要做的就是应用一个全屏div,默认样式名为“GWTPopuppanelglass”(至少从GWT2.4开始)。比如说,如果您的项目
有一个主题,如com.google.gwt.user.theme.clean.clean
,那么clean.css会提供您期望的半透明窗格:
.gwt-PopupPanelGlass {
background-color: #000;
opacity: 0.3;
filter: alpha(opacity=30);
}
否则,如前所述,您将不得不自己滚动。如果没有css,它不会禁用背景吗?