如何在分层 table 中进行鼠标绑定
how to do mouse binding in hierarchical table
我想为分层 table 注册鼠标按下操作,即使我注册它似乎不起作用,它总是在鼠标按下时执行 SelectCellAction。我从 nattable 示例中引用 Hierarchicaltreelayerexpale 创建了 Hierarchical table。
我用的鼠标绑定
uiBindingRegistry.registerFirstSingleClickBinding(MouseEventMatcher.rowHeaderLeftClick(SWT.NONE),
new action(selectionLayer));
任何人都可以告诉我它不起作用。
您所指的 HierarchicalTreeLayerExample 没有一行 header。因此,行 header 的鼠标绑定不会有任何效果。
相反,您需要像这样为 HierarchicalTreeLayer.LEVEL_HEADER_CELL
使用 CellLabelMouseEventMatcher
:
uiBindingRegistry.registerFirstMouseDownBinding(
new CellLabelMouseEventMatcher(
GridRegion.BODY,
MouseEventMatcher.LEFT_BUTTON,
HierarchicalTreeLayer.LEVEL_HEADER_CELL),
new NoOpMouseAction());
请注意,选择处理是在 SelectionLayer
中配置的,SelectCellAction
是在鼠标按下时注册的。因此,单击注册也将不起作用,因为之前已触发选择。
我想为分层 table 注册鼠标按下操作,即使我注册它似乎不起作用,它总是在鼠标按下时执行 SelectCellAction。我从 nattable 示例中引用 Hierarchicaltreelayerexpale 创建了 Hierarchical table。
我用的鼠标绑定
uiBindingRegistry.registerFirstSingleClickBinding(MouseEventMatcher.rowHeaderLeftClick(SWT.NONE),
new action(selectionLayer));
任何人都可以告诉我它不起作用。
您所指的 HierarchicalTreeLayerExample 没有一行 header。因此,行 header 的鼠标绑定不会有任何效果。
相反,您需要像这样为 HierarchicalTreeLayer.LEVEL_HEADER_CELL
使用 CellLabelMouseEventMatcher
:
uiBindingRegistry.registerFirstMouseDownBinding(
new CellLabelMouseEventMatcher(
GridRegion.BODY,
MouseEventMatcher.LEFT_BUTTON,
HierarchicalTreeLayer.LEVEL_HEADER_CELL),
new NoOpMouseAction());
请注意,选择处理是在 SelectionLayer
中配置的,SelectCellAction
是在鼠标按下时注册的。因此,单击注册也将不起作用,因为之前已触发选择。