2012-09-22 99 views
1

在GWT中,如何在Image對象添加到面板後設置其位置?似乎沒有設置圖像頂部和左側位置的方法。我們是否必須從面板中刪除圖像並使用所需的左值和最高值重新添加圖像?什麼是最好的方法?如何修改Image對象的位置?

回答

1

我所做的只是:

absolutePanel.setWidgetPosition(myImage, newXvalue, newYvalue); 

假設 'MYIMAGE' 是absolutePanel的孩子。

2

如果設置了絕對位置,你可以

int top = myPanel.getAbsoluteTop(); 
int left = myPanel.getAbsoluteLeft(); 
myImage.getElement().getStyle().setTop(top + 100, Unit.PX); 
myImage.getElement().getStyle().setLeft(left + 100, Unit.PX); 

或者,您也可以設置「位置:親屬」你的形象風格。然後,您可以在圖像上設置「頂部」和「左側」,並且它將相對於其父元素進行定位。

+0

我的圖像對象位於面板內部。我需要設置相對於此面板的圖像位置。 –

+0

我更新了我的答案,但您需要編輯您的問題以使其更清楚。 –

1

從問你的問題的方式來看,我假設你正在嘗試使用GWT,因爲你將使用來自Java的Swing或SWT。這不是GWT使用的方式,大多數時候導致非常糟糕的代碼和非常糟糕的項目。

GWT不是關於隱藏瀏覽器。所以如果你想改變一個元素的位置,你會主要使用CSS。

只需在頭兩個CSS類添加到您的項目

.before{ 
    position: relative; 
    top: 0px; 
    left: 0px; 
} 

.after{ 
    position: relative; 
    top: 100px; 
    left: 100px; 
} 

給你的形象第一類:

image.addStyleName("before"); 

及更高版本:

image.addStyleName("after"); 

如果你真的需要動態地(一些計算大小),你可以設置元素的樣式屬性:

image.getElement().getStyle().setLeft(value, Unit.PX); 
image.getElement().getStyle().setTop(value, Unit.PX); 
+0

是的,我需要它是動態的,我正在移動基於改變的值的圖像對象。 –