1

最新の Google Chrome をインストールし、DialogBox で GWT 2.3 コードをテストしようとしています。何らかの理由で、ようなオプションsetGlassEnabled(true);は奇妙な方法で機能します:(

クロムのスクロール ペイン(y 位置が 0)の場合、ガラスは正しくペイントされています。

ただし、クロムのスクロール ペイン(y 位置が > 0)の場合、ガラスは 0 の位置に保持されるため、クロムの残りの下部はガラスで覆われません :(

コンストラクターの最初のグラスオプションを次のように表示します

...
public MyDIalog() {

        this.setGlassEnabled(true);
        this.setAnimationEnabled(true);
        this.setModal(true);
        this.setPreviewingAllNativeEvents(true);
...

コードは IE と FF で正常に動作するため、バグや何かの原因がよくわかりません:S

だから、クロムではガラスの位置は常に静的か何かであり、その位置は常に

x,y{0,0} w,h{firstInitedWidth,firstInitedHeight}

だから私の質問は、クロムの散歩はありますか?

ありがとう

4

3 に答える 3

6

解決済み:

PopupPanel を拡張する独自のクラスを作成し、これを追加します。

    @Override
    public void setGlassEnabled(boolean enabled) {
        super.setGlassEnabled(enabled);
        Element glass = getGlassElement();
        if (glass != null) {
            glass.getStyle().setPosition(Position.FIXED);
        }
    }

これは、ガラス パネルの位置を絶対ではなく固定に設定するだけです。これにより、パネルはスクロールで動かなくなります。

于 2013-01-29T16:14:05.200 に答える
0

奇妙な....しかし、最悪の場合、cssでガラススタイルに非常識な高さ/幅を与えることができると思います。

.gwt-PopupPanelGlass{
    height:15000 px;
    width:15000 px;
}
于 2012-04-06T19:49:35.610 に答える