我有一个编辑器,它由一个表和它下面的一组特定于选择的表单字段组成,因此当我在表中进行选择时,它下面的字段会改变。当编辑器太小时,字段容器会出现滚动条:
问题是当我在表格中进行选择时,我无法向下滚动字段容器(使用鼠标滚轮),因为焦点仍在表格内。目前,我必须选择其中一个字段才能滚动其容器或手动拖动滚动条本身,但只需单击或悬停在目标容器中的任意位置以将其聚焦以进行鼠标滚轮滚动会更容易。
如何使复合体(在我的情况下为 a Form
)可选择?或者更好的是,有没有办法根据鼠标光标的位置来控制滚动?
我有一个编辑器,它由一个表和它下面的一组特定于选择的表单字段组成,因此当我在表中进行选择时,它下面的字段会改变。当编辑器太小时,字段容器会出现滚动条:
问题是当我在表格中进行选择时,我无法向下滚动字段容器(使用鼠标滚轮),因为焦点仍在表格内。目前,我必须选择其中一个字段才能滚动其容器或手动拖动滚动条本身,但只需单击或悬停在目标容器中的任意位置以将其聚焦以进行鼠标滚轮滚动会更容易。
如何使复合体(在我的情况下为 a Form
)可选择?或者更好的是,有没有办法根据鼠标光标的位置来控制滚动?
如果要根据鼠标光标所在的位置控制滚动,则必须编写org.eclipse.swt.events.MouseMoveListener和org.eclipse.swt.events.MouseWheelListener的组合。
组件方法setFocus()
使组件进入键盘焦点。
我没有尝试过这样做。请务必处理用户的鼠标上没有滚轮的情况。