2013-01-24 16 views
2

我想花幾個小時在smartGWT中移動我的對話框,但沒有運氣。如何定位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,無任何影響。
我的對話框始終顯示在相同的位置。

任何想法?

+0

你確定你發佈你的更改是否正確嗎? – Sednus

+0

你正在使用更新後的代碼嗎?有時需要重新運行。也正如@Alain所說,也許它沒有被重新繪製? – Cornelius

回答

0

Dialog是Window的一個子類。所以你可以調用繼承的setRect方法。

從的Javadoc:

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

//設置所有四個座標,相對封閉的情況下,在一次。

如果你沒有看到改變,或許你將不得不重繪在某些情況下,我發現它是必要的。

0

我有同樣的問題。我終於在 show()之後嘗試調用moveTo(),並且它工作正常。

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

moveBy()也是這樣工作的。

我不知道爲什麼這個工程 - 我猜測show()自動居中對話框並覆蓋以前的位置。但是,我沒有得到與Window相同的行爲,並且我沒有看到Dialog中的任何內容覆蓋show()行爲。但是,它爲我工作....