0

私はUiBinderを使用するGWTアプリケーションを作成していますが、スタイルが要素に適用されないという奇妙な問題に遭遇しました.ページが更新される 1 秒前。言い換えると:

  1. ページを開く; 私の定義したスタイルはどれも使用されていません。
  2. ヒットリフレッシュ
  3. ページが空白になる前に、一瞬だけスタイルが使用されます
  4. スタイルなしでページがリロードされます

*ui.xml大きすぎないので、ファイル全体を含めます。

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
    xmlns:g="urn:import:com.google.gwt.user.client.ui">
    <ui:style>
        .idLabelStyle {
            font-weight: bold;
            text-align: center;
            width: 100px;
            border-style: solid;
            border-width: 1px;
            margin-right: 5px;
        }

        .nameLabelStyle {
            font-weight: bold;
            text-align: center;
            width: 500px;
            border-style: solid;
            border-width: 1px;
            margin-right: 5px;
        }

        .addressLabelStyle {
            font-weight: bold;
            text-align: center;
            width: 500px;
            border-style: solid;
            border-width: 1px;
        }
    </ui:style>
    <g:HTMLPanel>
        <g:HorizontalPanel>
            <g:Label addStyleNames="{style.idLabelStyle}">ID</g:Label>
            <g:Label addStyleNames="{style.nameLabelStyle}">Name</g:Label>
            <g:Label addStyleNames="{style.addressLabelStyle}">Address</g:Label>
        </g:HorizontalPanel>
    </g:HTMLPanel>
</ui:UiBinder> 

シンプルなものが欠けていることを本当に願っています。

4

3 に答える 3

0

addStyleNames=使用する代わりに、setStyleName=またはsetStylePrimaryName=過去にこの問題が発生したことがあり、私の場合は修正されました。注:2つの可能性を以下に示します...

setStyleName
Clears all of the object's style names and sets it to the given style. You should normally use setStylePrimaryName(String) unless you wish to explicitly remove all existing styles.

setStylePrimaryName
Sets the object's primary style name and updates all dependent style names.
于 2010-04-21T15:02:40.400 に答える
0

UiBinder でセルベースのパネルを使用する場合。子要素をタグでラップし、配置とサイズを個別に設定します。

http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/user/client/ui/CellPanel.html

于 2010-11-17T12:47:31.907 に答える
0

幸か不幸か、私はもうこのウィジェットをアプリで使用していません。しかし、コードを失いたくはありませんでした。なぜなら、この問題に頭がおかしくなり、何が欠けているのか知りたかったからです。

残念ながら、コードを変更した後、ウィジェットを再度追加してテストしたところ、問題を再現できなくなりました。

ウィジェットを UI に追加する方法かもしれません。最初にどのように追加したかは覚えていませんが (以前は変更が多すぎました)、メソッドVerticalPanelを使用してに追加しadd(Widget)ていますが、スタイルは問題なく適用されています。

私の野生のガチョウの追跡で私をフォローしてくれたコメンターに感謝します. もっと納得のいく答えがあればいいのに…

于 2010-04-21T16:22:35.483 に答える