我想要屏蔽一个小部件。所以我使用了一个弹出面板来做同样的事情
public class MyMask extends PopupPanel
{
public MyMask ()
{
super();
}
public void showAbsolute( UIObject uiObject )
{
show();
setPopupPosition( uiObject.getAbsoluteLeft(), uiObject.getAbsoluteTop() );
}
}
我的掩码类看起来像这样
public final class Mask
{
private static MyMask mask = new MyMask();
private static UIObject object;
private Mask()
{
}
public static void enable( UIObject uiObject )
{
VerticalPanel vp = new VerticalPanel();
vp.setVerticalAlignment( HasVerticalAlignment.ALIGN_MIDDLE );
vp.setStyleName( "mask" );
vp.setHeight( uiObject.getOffsetHeight() + Unit.PX.getType() );
vp.setWidth( uiObject.getOffsetWidth() + Unit.PX.getType() );
mask.add( vp );
mask.showAbsolute( uiObject );
}
public static void disable()
{
mask.hide();
}
}
而是通过调用
Mask.enable(widget)
弹出式面板并不是恰好出现在小工具的上方,而是在小工具的下方,稍微向左一点。我想让它准确地出现在小工具上。你知道该怎么做吗?
我当前使用的是gwt 2.4.0
发布于 2012-04-11 19:38:01
解决方法很简单...不需要弹出面板。只需更改它的禁用状态,并在蒙版上将背景颜色转换为灰色,然后启用它,在取消蒙版时重新应用样式
发布于 2012-03-26 20:31:17
首先,我建议不要使用这种方法,因为这不是标准的图形用户界面实践,而且所有的输入小部件都允许您对它们调用setEnabled(false)
,以防止用户输入。
https://stackoverflow.com/questions/9871288
复制相似问题