0

私はcssクラスを宣言しています:

gwt-Label {
  font-size: 16px;
}

実行時にfont-sizeの値を照会する方法はありますか?何かのようなもの:

public void foo() {
    CssFoo css = new CssFoo("gwt-Label");
    float fontSize = css.getAttribute("font-size");
    println("Your font size is: " + fontSize);
}

ありがとう

4

3 に答える 3

0

いいえ、できません。

Style クラスのコンストラクターはGWT では見えないため、そのオブジェクトを作成することはできません。

ただし、Element で Style オブジェクトを取得できます

元:

 TextBox textbox= new TextBox();
 Style style = textbox.getElement().getStyle();
 String fontSize = style.getFontSize();

またはによって

String attribute = textbox.getElement().getAttribute("fontSize");//camelcase

また

String styleAttribute = DOM.getStyleAttribute(textbox.getElement(), "fontSize");
于 2013-03-21T04:53:00.657 に答える
0

私は最近これをしなければなりませんでした.GWTで簡単に解決しました;

fontSize = ComputedStyle .getStyleProperty(this.getElement(), "fontSize");

これにより、クラスが以前に提供した計算値が取得されます。

于 2013-11-22T23:24:39.620 に答える
0

計算値を取得するには、JSNI コードが必要です。または、より適切なオプションはgwtqueryを使用することです。

 import static com.google.gwt.query.client.GQuery.*;
 ...

 // the second parameter set to true means: return the real computed value
 double size = $(my_widget).cur("font-size", true);

js を使用することに興味がある場合は、次のようなことができます (最新のブラウザーで動作するはずです)。

 private static final double getPropertyValue(Element elem, String prop) /*-{
   return $wnd.getComputedStyle(elem,null).getPropertyValue(prop);
 }-*/

しかし、私はすべてのブラウザーで動作する gquery を使用し、非表示の要素、ラクダ化されていないプロパティなどの回避策のようにします。

于 2013-03-20T22:29:40.450 に答える