Gwt 如何在高亮显示上更改鼠标?
在GWT中,我使用的是CellTable 当您将鼠标悬停在CellTable上时,它会高亮显示每一行 如何更改鼠标悬停时高亮显示的行为?具体而言:Gwt 如何在高亮显示上更改鼠标?,gwt,Gwt,在GWT中,我使用的是CellTable 当您将鼠标悬停在CellTable上时,它会高亮显示每一行 如何更改鼠标悬停时高亮显示的行为?具体而言: 更改突出显示的颜色 禁用/启用 使其仅高亮显示光标处的特定网格项(而不是整行) (我目前的做法是创建一组1列宽的单元格表,并将它们添加到垂直面板布局中……造成一种错觉,即有一个单元格表,并根据光标高亮显示每个网格。这不好吗?为什么?性能?) CellTable可以通过CSS设置样式: 要禁用高亮显示,只需将hover CSS属性设置为nothin
- 更改突出显示的颜色
- 禁用/启用
- 使其仅高亮显示光标处的特定网格项(而不是整行)
.cellTableSelectedRow
和.cellTableSelectedRowCell
这是原始的CellTable.css:您会注意到CellTable使用了一个ResourceBundle,这意味着所有css样式都会被混淆。。。这使得覆盖样式更加困难 CellTable构造函数实际上允许您覆盖默认的ResourceBundle。因此,首先,您需要创建自己的资源包,如下所示:
public interface CellTableResources extends Resources {
public CellTableResources INSTANCE =
GWT.create(CellTableResources.class);
/**
* The styles used in this widget.
*/
@Source("CellTable.css")
CellTable.Style cellTableStyle();
}
CellTableResources.INSTANCE.cellTableStyle().ensureInjected();
myCellTable = new CellTable<T>(Integer.MAX_VALUE,CellTableResources.INSTANCE);
然后,您需要创建自己的CSS文件。我建议将CellTable样式直接复制到项目中,并以此作为起点。你可以在这里找到它:
确保先注入样式,然后将其输入CellTable的构造函数,如下所示:
public interface CellTableResources extends Resources {
public CellTableResources INSTANCE =
GWT.create(CellTableResources.class);
/**
* The styles used in this widget.
*/
@Source("CellTable.css")
CellTable.Style cellTableStyle();
}
CellTableResources.INSTANCE.cellTableStyle().ensureInjected();
myCellTable = new CellTable<T>(Integer.MAX_VALUE,CellTableResources.INSTANCE);
CellTableResources.INSTANCE.cellTableStyle().ensureInjected();
myCellTable=newcelltable(Integer.MAX_值,CellTableResources.INSTANCE);
具体来说,您需要调整这些样式:
- CellTable键盘SelectedRow
- CellTable键盘SelectedRowCell
- cellTableSelectedRow
- cellTableSelectedRowCell
- 单元格表键盘选择的单元格
cellList.setSkipRowHoverStyleUpdate(true)
这将完全禁用高亮显示。CellList上还有两个与悬停相关的
setSkip
-函数。有一个澄清,我建议复制CellTableBasic.css样式并将其用作基线:。。。标准的CellTable.css样式表包括图像资源,CellTableBasic.css是纯css,可能更容易修改最后一段中的+1,在该段中,您解释了“选定行”和“键盘选定行”之间的差异。这是我第一次看到它解释这如何有助于消除实际的突出显示?我尝试覆盖所有提到的样式(包括未提及的cellTableHoveredRow
和cellTableHoveredRowCell
),但我无法使高亮显示完全消失。我可以稍微改变一下,使它看起来不一样,但我不能删除它。也许有人可以共享实际的CSS来删除鼠标在行上的突出显示?谢谢。这是我很久以前做的一个gannt图表项目的代码。CellTableResources.INSTANCE.cellTableStyle().ensureInjected();taskTable=新的CellTable(Integer.MAX_值,CellTableResources.INSTANCE);您能否提供一些关于如何执行列表中的第2项“只需将hover CSS属性设置为nothing”的详细信息?在哪里设置该属性,在哪个CSS类上设置,等等?谢谢