GWT可调整大小的DialogBox

时间:2011-09-14 10:41:23

标签: gwt dialog

据我所知,默认情况下,DialogBox在GWT中不可重复(甚至没有实现)。通过调整大小我的意思是单击DialogBox的边缘并将其拖大。 我在网上看到了一些自定义可调整大小的面板,但没有看到DialogBox。我有一些关于如何制作可调整大小的DialogBox的想法,只是不想重新发明weel。也许有人知道可调整大小的DialogBox的实现,并且可以将我链接到源代码?

2 个答案:

答案 0 :(得分:1)

我做了类似这样的事情,它只是在右下角添加了一个红色框,然后您可以将鼠标处理程序添加到该红色框以进行调整大小。

public class ThumbnailDialog extends DialogBox {

  private FocusPanel tab = new FocusPanel();

  public ThumbnailDialog() {
    super(false, false);    
    tab.setPixelSize(4, 4);
    tab.getElement().getStyle().setBackgroundColor("red");
    tab.getElement().getStyle().setPosition(Style.Position.ABSOLUTE);
    tab.getElement().getStyle().setRight(0, Style.Unit.PX);
    tab.getElement().getStyle().setBottom(0, Style.Unit.PX);

    Element tabElement = getCellElement(2, 2);
    tabElement.getStyle().setOverflow(Style.Overflow.VISIBLE);
    tabElement.appendChild(tab.getElement());
  }
}

答案 1 :(得分:0)

经过一些研究后我得出结论,由于构建了DialogBox,它无法完成。至少在不丢失DialogBox默认行为的情况下无法完成。必须覆盖所有鼠标事件。如果我覆盖所有事件,我可以放弃默认行为,以防Google将来更改某些内容。 DialogBox标题不是单独从DialogBox单独制作的。在所有鼠标事件上,DialogBox检查发送者是否为标题,如果不是,则吞下鼠标事件。就这样,DialogBox在屏幕上移动。