Этот «официальный» SWT фрагмент делает то, что вы хотите сделать, по крайней мере, на моей машине - он не синхронизируется при вертикальной прокрутке. Но цена второй полосы прокрутки - путь безобразный. Чтобы предотвратить это, вы можете добавить стиль SWT.NO_SCROLL
в конструктор левой таблицы.
Чтобы улучшить эту вещь, вам нужно будет добавить слушатель на SWT.Traverse
в обе таблицы, который синхронизирует их, если пользователь перемещался с помощью клавиш, что-то вроде этого:
leftTable.addListener(SWT.Traverse, new Listener() {
public void handleEvent( Event event ) {
rightTable.setTopIndex(leftTable.getTopIndex());
}
});
Я бы не стал использовать другую реализацию Table, поскольку вы теряете самое большое преимущество, которое у вас есть с SWT: использование встроенного виджета, который выглядит и чувствует себя «правильно» в каждой ОС. В любом случае, если вы хотите сделать это, Grid из проекта Nebula гораздо более зрелый, чем предполагает альфа-тег. Не знаю, сможет ли он делать то, что вы хотите.