我創建一個彈出面板白色相同的文本,我想禁用背景並使其灰色。我讀了關於setGlassEnabled但它不起作用,有人可以幫忙嗎? PS。彈出窗口可以正確顯示。GWT彈出setGlassEnabled(true)不起作用
PopupPanel popup = new PopupPanel(infoType);
popup.center();
popup.setGlassEnabled(true);
popup.show();
我創建一個彈出面板白色相同的文本,我想禁用背景並使其灰色。我讀了關於setGlassEnabled但它不起作用,有人可以幫忙嗎? PS。彈出窗口可以正確顯示。GWT彈出setGlassEnabled(true)不起作用
PopupPanel popup = new PopupPanel(infoType);
popup.center();
popup.setGlassEnabled(true);
popup.show();
玻璃面板沒有默認樣式,所以默認情況下它是透明的。如果您希望背景變灰,則需要在玻璃面板上添加一些CSS樣式。
此外,setGlassEnabled
只允許彈出窗口顯示爲下一個時的玻璃面板,並在你的情況,當你調用show
(因爲以前調用center
)的彈出已經表現出,所以這是一個沒有操作和玻璃面板實際上沒有使用。在setGlassEnabled
之前致電setGlassEnabled
和/或致電hide
撥打center
。
將下面的代碼放在對話框構造函數的頂部,似乎爲我解決了這個問題。
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()是表示,「背景將被阻止與半透明窗格」有點誤導。實際上,它所要做的就是應用一個默認樣式名稱爲「gwt-PopupPanelGlass」的全屏div(至少在GWT 2.4中)。比如說,如果你的項目<inherits>
一個主題,如com.google.gwt.user.theme.clean.Clean
,然後clean.css提供的半透明面板中你期待:
.gwt-PopupPanelGlass {
background-color: #000;
opacity: 0.3;
filter: alpha(opacity=30);
}
否則,如前所述,你必須推出自己的。
和沒有CSS它不會禁用背景? – Erick
用更多信息更新了答案。 –
tnks我swappe與顯示中心的工作位置工作 – Erick