1

GWT では、Panel に追加された後に Image オブジェクトの位置をどのように設定しますか? 画像の上と左の位置を設定する方法はないようです。パネルから画像を削除し、必要な左と上の値を使用して再度追加する必要がありますか? 最善のアプローチは何ですか?

4

3 に答える 3

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); 

または、画像に「position: relative」スタイルを設定することもできます。次に、画像に「上」と「左」を設定すると、親要素に対して相対的に配置されます。

于 2012-09-22T20:38:37.740 に答える
1

私がしたことは単純でした:

absolutePanel.setWidgetPosition(myImage, newXvalue, newYvalue);

「myImage」がabsolutePanelの子であると仮定します。

于 2012-10-16T21:19:45.680 に答える
1

質問の仕方から、Java から Swing や SWT を使用するのと同じように、GWT を使用しようとしていると思われます。これは GWT が使用する方法ではなく、ほとんどの場合、非常に悪いコードと非常に悪いプロジェクトにつながります。

GWT はブラウザーを非表示にすることではありません。したがって、要素の位置を変更したい場合は、主に CSS を使用して行います。

プロジェクトに 2 つの 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);
于 2012-09-22T21:33:18.480 に答える