天道酬勤,学无止境

uibinder

这是什么错误找到的小部件在 HTML 上下文中(What is this error Found widget <g:ListBox class='dropdownbx' name='deleteDigits' ui:field='deletedigs'> in an HTML context)

问题 运行 Gwt 应用程序时出现此错误 在 HTML 上下文中找到小部件 这是它抱怨的 xml 片段: <!-- ... --> <g:HTML ui:field="localPanel"> <fieldset> <legend>Local</legend> <label for="btn" >BTN:</label><input type="text" ui:field="btn" class="txtbx numeric" maxlength="10" name='btn'/> <label for="stdprt">SDT PRT:</label><input type="text" ui:field="stdprt" class="txtbx" readonly="readonly" name='stdPrt'/> <label for="rateArea">Rate Area:</label><input type="text" ui:field="ratearea" class="txtbx" readonly="readonly" name='rateArea'/> <br/> <label for="deleteDigits">Delete Digits:</label><g:ListBox ui:field='deletedigs' class=

2021-09-16 09:59:04    分类:技术分享    gwt   uibinder

这是什么错误找到的小部件在 HTML 上下文中(What is this error Found widget <g:ListBox class='dropdownbx' name='deleteDigits' ui:field='deletedigs'> in an HTML context)

问题 运行 Gwt 应用程序时出现此错误 在 HTML 上下文中找到小部件 这是它抱怨的 xml 片段: <!-- ... --> <g:HTML ui:field="localPanel"> <fieldset> <legend>Local</legend> <label for="btn" >BTN:</label><input type="text" ui:field="btn" class="txtbx numeric" maxlength="10" name='btn'/> <label for="stdprt">SDT PRT:</label><input type="text" ui:field="stdprt" class="txtbx" readonly="readonly" name='stdPrt'/> <label for="rateArea">Rate Area:</label><input type="text" ui:field="ratearea" class="txtbx" readonly="readonly" name='rateArea'/> <br/> <label for="deleteDigits">Delete Digits:</label><g:ListBox ui:field='deletedigs' class=

2021-09-16 09:57:37    分类:技术分享    gwt   uibinder

gwtbootstrap 始终适用于所有元素(gwtbootstrap always applies to all elements)

问题 我想为我的应用程序使用 GWT 引导程序,所以我将 jar 添加到类路径并在 app.gwt.xml 中继承它,到目前为止它正在工作(我是引导程序的新手)。 到目前为止,我还没有使用 UIBinders 进行布局,如果有任何可能的话,我希望保持这种状态,因为我有一个非常动态的 UI,它是通过编程方式生成的,而且我对 UIBinders 几乎没有经验。 但是,对于我想从 gwtbootstrap 使用的元素,我创建了 UIBinders(例如标题和按钮)。 问题是不仅我使用 gwtbootstrap 元素使用 UIBinders 创建的元素看起来像 gwtbootstrap 元素,而且页面上的所有元素。 一个简单的例子:如果我使用引导元素创建一个像这样的标题没有任何区别 <b:Heading size="2">Hello GWT Bootstrap</b:Heading> 或者像这样使用标准 HTML <h1>Hello GWT Bootstrap</h1> 两者看起来都像 GWT Bootstrap 标题。 这同样适用于所有其他元素,因此页面上的任何元素都由 gwtbootstrap 设置样式,即使我不想要它并且我找不到控制它的方法。 回答1 这是因为 gwt-bootstrap 将 bootstrap.css 注入到您的 GWT 应用程序中,而 bootstrap.css

2021-09-12 15:45:12    分类:技术分享    gwt   twitter-bootstrap   uibinder   gwt-bootstrap

根据模块属性使用不同的 UiBinder @UiTemplate 文件(Using different UiBinder @UiTemplate files depending on module property)

问题 我可以使用<replace-with>标签根据 GWT 模块文件中设置的属性来换出一个类的不同实现。 太好了 - 我喜欢它。 但是:我在formfactor="mobile"和formfactor="desktop"之间的所有不同之处在于我使用的 ui.xml 文件 - 即使是 java 文件也是相同的。 所以,类交换是不够的 - 我不想复制 Java 文件来获得不同的类。 如何使用属性来影响作为 UiBinder 模板加载的 ui.xml 文件? 注意:我目前正在使用一种解决方法来计算模块属性在 Java 中应该是什么,并在加载适当的 ui.xml 文件的 switch 语句中使用该属性。 这是不可取的,因为: 代码重复 - 我必须计算模块文件和 java 代码中的属性每个排列都必须编译每个 ui.xml 文件,以便在运行时选择正确的一个。 我更喜欢编译时解决方案。 回答1 我认为,您必须编写自己的生成器来为不同的 ui 活页夹模板提供服务。 也许你可以在 UiBinderGenerator 中重载方法 deduceTemplateFile()。

2021-09-10 23:54:11    分类:技术分享    gwt   uibinder

Using different UiBinder @UiTemplate files depending on module property

I can use <replace-with> tags to swap out different implementations of a class depending on the properties set in my GWT module file. That's great - I love it. BUT: all that's different about my views between formfactor="mobile" and formfactor="desktop" are the ui.xml files I use - even the java files are identical. So, class swapping isn't sufficient - I don't want to have to duplicate the Java files to get different classes. How can I use properties to affect which ui.xml file is loaded as a UiBinder template? note: I'm currently using a workaround that calculates what the module properties

2021-09-06 02:47:15    分类:问答    gwt   uibinder

GWT uibinder autocorrect off

im using GWT uibinder method and my html contains a textbox like <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:idmw="urn:import:com.testing.wid.impl"> <g:HTMLPanel> <table align="center" valign="center" height="25%"> <tr><td><g:TextBox ui:field='searchS' /></td></tr> </table> </g:HTMLPanel> How can i TURN OFF autocorrect and autocapitalize for this Textbox?? i tried <g:TextBox ui:field='searchS' autocapitalize="off" autocorrect="off"/> but i get [ERROR] Class TextBox has no appropriate setAutocorrect() method Element <g:TextBox

2021-08-31 23:12:07    分类:问答    html   gwt   uibinder   gwt2

gwtbootstrap always applies to all elements

I want to use GWT bootstrap for my application, so I added the jar to the classpath and inherited it in app.gwt.xml and it is working so far (I am new to Bootstrap). So far I haven't used UIBinders for the layout and if in any way possible would like to leave it that way as I have a very dynamic UI which is generated programmatically and I have little experience with UIBinders. However for the elements that I want to use from gwtbootstrap I have created UIBinders (such as headings and buttons). The problem is that not only the elements I create with UIBinders using the gwtbootstrap elements

2021-08-31 16:14:09    分类:问答    gwt   twitter-bootstrap   uibinder   gwt-bootstrap

带有可选参数的 GWT UiConstructor(GWT UiConstructor with optional parameters)

问题 我们有一个带有 4 个参数的自定义小部件。 这些参数之一是可选的。 如果我们在 UiBinder 中使用小部件并省略可选字段,则会引发错误。 例如 MyWidget(String arg1, String arg2, String arg3) { ... } 如果在 UiBinder 文件中我写 ... <b:MyWidget arg1="sdfsd" arg2="fsdgds" arg3="ertlkj"> ... 如果我写 ... <b:MyWidget arg1="sdfsd" arg2="fsdgds"> ... 然后出现以下错误: [ERROR] <MyWidget arg1="sdfsd" arg2="fsdgds"> missing required attribute(s): arg3: <b:MyWidget arg1="sdfsd" arg2="fsdgds"> 有没有办法定义可选参数? 回答1 不管是好是坏,不 - 这就是 UiBinder 的设计方式。 您只能指定一个@UiConstructor ,并且 UiBinder 将始终使用该构造函数。 如果可能,不要让它们成为构造函数参数,而是让它们成为 setter。 如果存在arg3属性,将可选地调用setArg3()方法,而不是尝试在构造函数之间切换。 回答2 我在您的小部件中没有看到任何可选参数 -

2021-08-31 08:19:08    分类:技术分享    gwt   uibinder

在 GWT 中移动元素映射的视口?(Move ViewPort of Element Map in GWT?)

问题 我有一个 GWT 应用程序,其视口显示元素映射的一部分。 在元素映射上是 div 元素。 用户可以在视口上(而不是在元素上)拖动和移动。 如果用户在视口上拖动和移动,那么他可以将视口移动到所有方向。 这意味着将显示元素映射的另一部分。 视口的浏览器位置保持不变,只有元素贴图随着视口的悬垂和移动而移动。 我如何设置视口和元素贴图以使其准备好拖动和移动? 回答1 使用方法setWidgetPosition放置小部件。 要在视口内移动视图,请更新它们的位置 - public class Viewport extends AbsolutePanel { private static final String DEFAULT_MOUSE_DOWN_CURSOR = "moveCursor"; private static final String DEFAULT_MOUSE_DRAG_CURSOR = "pointerCursor"; private final FocusPanel panel = new FocusPanel(); private String mouseDownCursor = DEFAULT_MOUSE_DOWN_CURSOR; private String mouseDragCursor = DEFAULT_MOUSE_DRAG_CURSOR; private

2021-08-12 05:10:32    分类:技术分享    java   javascript   html   gwt   uibinder

当点击树中的项目时,它使垂直滚动条向上跳(When click on an item in a tree, it makes the vertical scroll bar jump up)

问题 看看这个简单的代码 Tree testTree=new Tree(); TreeItem testTreeItem=new TreeItem("test"); TreeItem testTreeItem2=new TreeItem("test2"); more TreeItem.... testTree.addItem(testTreeItem1); testTree.addItem(testTreeItem2); ........ 现在,调整浏览器的大小,以便您可以看到右侧的垂直滚动条。 现在点击最底部的一个树项,例如testTreeItem10 ,你会看到垂直滚动条向上跳,而不是停留在当前位置。 使用 UiBinder 时也会发生此错误 <g:Tree ui:field="myTree"> <g:TreeItem text="Item 1" /> <g:TreeItem text="Item 2" /> ..... </g:Tree> 另外, Tree addItem被弃用了,那么如何解决这个问题呢? 回答1 这个黑客代码可能有效,但我不确定这是正确的修复方式还是优雅的修复方式? 这个黑客代码将来会破解吗? 顺便说一下,只需稍微修改一下 Tree : Tree testTree=new Tree(){ public void onBrowserEvent(Event

2021-08-12 01:39:46    分类:技术分享    gwt   tree   uibinder   gwtp