0
SWT Table
(JFace TableViewer
)에서 이산 (행 단위) 스크롤을 수행하는 방법은 무엇입니까?SWT 표의 이산 스크롤
한 번에 하나의 끊어지지 않은 행을 스크롤하여 전체 셀을 맨 위에 넣으려면 Table
이 필요합니다.
나는 JFace는 TableViewer
사용하지만, 나는 그것에 마우스 리스너를 추가 할 수있는 방법을 찾을 수 없었기 때문에이 같은했다 :
TableViewer table = new TableViewer(shell, SWT.BORDER_DASH |SWT.FULL_SELECTION);
//some visual settings ommited here
table.getControl().addMouseWheelListener(new MouseWheelListener() {
@Override
public void mouseScrolled(MouseEvent e) {
Table sourceControl = (Table)e.getSource();
System.out.println(e.count);
if(e.count >=0)
sourceControl.setTopIndex(sourceControl.getTopIndex()-1);
else
sourceControl.setTopIndex(sourceControl.getTopIndex()+1);
}
});
을하지만, 밝혀졌다 모든 경우의 먼저 e.count
이 3 이상이면 일부 행이 누락됩니다. 둘째 가끔 setTopIndex()
행을 올바르게 배치하지 않습니다.
더 정확한 방법으로 처리 할 수 있습니까?