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