2011-07-16 14 views
7

同じテキストをポップアップパネルに作成しています。背景を無効にして灰色にしたいと思います。私はsetGlassEnabledについて読んだが、うまくいきませんでした。 ps。ポップアップが正しく可視化されます。GWT popup setGlassEnabled(true)が動作しない

PopupPanel popup = new PopupPanel(infoType); 
popup.center(); 
popup.setGlassEnabled(true); 
popup.show(); 

答えて

8

ガラスパネルにはデフォルトのスタイルがないため、デフォルトで透明です。背景をグレー表示にしたい場合は、CSSスタイルをガラスパネルに追加する必要があります。

また、setGlassEnabledは唯一のポップアップが表示され時間のためのガラスパネルを有効にし、あなたが(理由centerの前回の呼び出しの)showを呼び出したときに、あなたの場合には、ポップアップがすでに表示されているので、それはですガラスパネルは実際には使用されていません。 centerに電話をかけてsetGlassEnabledに電話をかけ、hidesetGlassEnabledの前に電話してください。

+0

CSSなしでバックグラウンドを無効にしませんか? – Erick

+0

追加情報で回答を更新しました。 –

+0

tnks私は仕事の中心とショーの位置を交換する – Erick

2

ダイアログコンストラクタの上部に次のコードを挿入すると、問題が解決されているようです。

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)"); 
0

setGlassEnabledのJavadocは、()「背景半透明ウィンドウでブロックされるであろう」と言って少し誤解を招くようです。実際には、デフォルトのスタイル名 'gwt-PopupPanelGlass'(GWT 2.4以上)をフルスクリーンのdivに適用するだけです。たとえば、このようcom.google.gwt.user.theme.clean.Cleanとしてプロジェクト<inherits>テーマは、その後、clean.cssは、あなたが期待していた半透明のウィンドウを提供し、場合:

.gwt-PopupPanelGlass { 
    background-color: #000; 
    opacity: 0.3; 
    filter: alpha(opacity=30); 
} 

をそれ以外の場合は、前述したように、あなた自身をロールバックする必要があります。

関連する問題