【问题标题】:GWT UIBinder IntegerBox is not stylishGWT UIBinder IntegerBox 不时尚
【发布时间】:2011-09-05 07:34:06
【问题描述】:

在我们的项目中,我们决定尝试使用 UIBinder 来设计我们的 UI,而不是在 Java 中混合 GWT 小部件和逻辑来做所有事情。我们从头开始发现它们看起来更漂亮的面板、按钮等,这节省了大量时间,尤其是在演示演示时。但是,当我们使用数字框小部件时,例如 IntegerBox 或 DoubleBox,它们看起来不像 TextBox 那样漂亮,它们就像普通的 HTML 框,因此与其他小部件相比非常难看。我们进行了一些 Google 搜索,但没有找到关于此主题的信息。

有什么技巧可以做到这一点,使用带有 UIBinder 的 GWT 原生数字框并以漂亮的风格出现吗?或者,也许我们应该对所有内容都使用 TextBoxes,并为 setText-getText 编写我们自己的包装器并解析这些值。 这非常重要,因为我们必须在将数据发送回服务器之前使用输入数字进行客户端计算。

【问题讨论】:

    标签: gwt uibinder


    【解决方案1】:

    UIBinder 不以任何方式负责看起来“漂亮”的东西,它只生成 Java 代码,与您之前手动编写的代码相同。如果事情看起来“更漂亮”,很可能是因为您<inherits>-在您的 gwt.xml 中添加了一个主题。

    与 TextBox 不同的是,IntegerBox 和 DoubleBox 没有关联的硬编码样式名称。如果你想让它们的样式与每个 TextBox 相同,你可以简单地给它们addStyleName("gwt-TextBox")(TextBox 小部件的硬编码样式名称),或者在你的 ui.xml 中:<g:IntegerBox addStyleNames="gwt-TextBox" …(注意这里的复数; 这在 UIObject 的 javadoc 中有记录)。

    【讨论】:

    • 非常感谢。现在我明白了发生了什么:首先,这是我们第一次尝试 UIBinder,所以我们不知道它会是什么样子。其次,这个 UIBinder 测试是在一个新的 GWT 项目 GWT2.3 中完成的。我们认为 TextBoxes 的新样式是用于使用 UIBinder,但根据您的建议,我查看了 gwt.xml,它继承了一种名为“clean”的新 CSS 样式,显然是 GWT2.3 中的新样式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多