gpt4 book ai didi

java - 如何在没有 UiBinder 的情况下将 CellTable.Style 与 GWT 2.7.0 一起使用?

转载 作者:行者123 更新时间:2023-11-30 02:37:17 25 4
gpt4 key购买 nike

几周前我加入了一个 GWT 应用程序元素。该代码库于 2009 年启动。我正在尝试用 CellTable 替换 FlexTable,以便我可以利用可排序的列。元素中当前GWT的版本是2.7.0,但是从代码来看,看起来有些功能仍然在使用,但已经过时了。我是 GWT 新手,我可能是错的。

到目前为止,一切功能都很好。然而,GWT 似乎覆盖了我更新 CSS 的尝试。我用了GWT dynatablerf sample作为将 CSS 添加到 CellTable 的模型。 TimeSlotWidget使用 CellTable.Style:

  interface TableResources extends CellTable.Resources {
@Override
@Source(value = {CellTable.Style.DEFAULT_CSS, "CellTablePatch.css"})
CellTable.Style cellTableStyle();
}

然后将其应用到 CellTable,如下所示:

 table = new CellTable<TimeSlotListWidget.ScheduleRow>(ROWS_IN_A_DAY,
GWT.<TableResources> create(TableResources.class));

我尝试在我的代码中使用这种方法。我什至省略了 CellTable.Style.DEFAULT_CSS从值列表中创建我自己的 CSS 样式表,该样式表作为 GWT CellTable.css 的副本开始

我注意到 GWT TimeSlotListWidget sample has an ui.xml使用 UIBinder 文件。我的元素目前没有使用 UIBinder。

当我运行我的代码时,有一个 <style>插入到页面中的 block 似乎是标准 GWT CellTable.css。然后紧接着,另一个 <style> block 是用我的 CSS 插入的。而且我的 CSS 并未覆盖标准 GWT CSS。

如何防止插入 GWT CellTable.css?为什么会被插入?

最佳答案

问题在于,在您的代码中,您重用了 CellTable.Style,并且两个不同的 ClientBundles 使用了相同的类型,但各自将自己的 CSS 绑定(bind)到了该类型。

相反,扩展 CellTable.Style 接口(interface),并在您的包中使用它:

interface MyCellTableStyle extends CellTable.Style {}
interface TableResources extends CellTable.Resources {
@Override
@Source(value = {CellTable.Style.DEFAULT_CSS, "CellTablePatch.css"})
MyCellTableStyle cellTableStyle();
}

关于java - 如何在没有 UiBinder 的情况下将 CellTable.Style 与 GWT 2.7.0 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42723811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com