假设我们有两个使用 UiBinder 构建的页面。 UiBinder 文件可以与此类似:
<g:HTMLPanel> <g:FlowPanel styleName="{resourceBundle.loginCss.login}"> <g:FlowPanel styleName="{resourceBundle.loginCss.majorLoginBox}"> <g:FlowPanel styleName="{resourceBundle.loginCss.loginTop}"/> <g:FlowPanel styleName="{resourceBundle.loginCss.loginContent}"> <g:LazyPanel ui:field="inputPanel"> <g:FlowPanel styleName="{resourceBundle.loginCss.loginForm}" addStyleNames="{style.resetPasswordForm}"> <g:Label text="{localization.forgotpassword_form_header}" styleName="{resourceBundle.loginCss.loginFormHeader}"/> <g:Label text="{localization.login_username}"/> <g:TextBox ui:field="username" inputMaxLength="64"/> <g:Label ui:field="validationError" styleName="{resourceBundle.css.errorText}"/> <g:Anchor ui:field="sendButton" text="{localization.forgotpassword_send}" styleName="{resourceBundle.loginCss.loginButton}"/> </g:FlowPanel> </g:LazyPanel> <g:LazyPanel ui:field="messagePanel" visible="false"> <g:Label ui:field="messageLabel"/> </g:LazyPanel> </g:FlowPanel> </g:FlowPanel> </g:FlowPanel> </g:HTMLPanel>
一般来说,有什么并不重要,只是一个例子。当然,有两个 java 类与这些 UiBinder 文件相对应。因此,很明显,我可以从 java 类中提取公共(public)部分到某个抽象类。
是否可以对 UiBinder 文件执行此操作?怎么办?
最佳答案
公共(public)部分可以是 Composite widget有自己的 UiBinder 文件。然后你可以简单地将这个小部件插入到其他 UiBinder 文件中。例如,如果 w
指向您的小部件库:
<g:HTMLPanel>
...
<w:MyWidget>
...
</g:HTMLPanel>
关于java - 如何提取UiBinder文件的公共(public)部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25197073/