2

我现在正在尝试几个小时在 smartGWT 中移动我的对话框,但没有运气。

这是我的代码:

            Dialog dlg = new Dialog();

            ListGridRecord[] h = scoringGrid.getRecords();
            HLayout chart = new HLayout();
            vlayout.addMember(chart);

            dlg.addMember(highChart(h));
            dlg.moveBy(500, 900);
            dlg.setHeight("400px");
            dlg.setWidth("700px");
            dlg.show();

我也试过:setLeft, setTop, setRect,没有任何效果。
我的对话框总是显示在同一个位置。

有任何想法吗?

4

2 回答 2

0

Dialog 是 Window 的子类。所以你可以调用继承的方法 setRect 。

来自 Javadoc:

public void setRect(int left, int top, int width,  int height)

// 一次设置所有四个相对于封闭上下文的坐标。

如果您没有看到更改,在某些情况下您可能需要重新绘制,我认为这是必要的。

于 2013-01-24T13:22:27.593 回答
0

我遇到过同样的问题。我终于尝试在 show()之后调用 moveTo( ),它奏效了。

dlg.show();
dlg.moveTo(400, 500);

moveBy() 也以这种方式工作。

我不确定为什么会这样——我猜 show() 会自动将 Dialog 居中并覆盖之前的位置。但是,我在使用 Window 时没有得到相同的行为,并且在 Dialog 中看不到任何覆盖 show() 行为的内容。但是,它对我有用....

于 2013-12-10T21:11:55.473 回答