(ссылка вы вывесили дали 400 Error)
Не уверен, если мой вопрос был тот же, но я столкнулся проблема усечения с помощью ScrolledComposite. Проблема заключалась в том, что когда я изменял размер прокручиваемого Composite, и панель прокрутки стала видимой, элементы управления не учитывали пространство, занимаемое полосой прокрутки. Чтобы решить эту проблему, я добавил рекурсивный бит кода для своего слушателя Resize на прокручиваемом композите:
После того, как вы установили размер вашего композитного материала, проверьте, прокручивается ли прокрутка полосы прокруткиComposite (например, getVerticalBar()), только что стало видимым. Если это так, отправьте новое событие Resize в ваш слушатель. Вот фрагмент моего кода ...
public void handleEvent(Event event)
{
int newWidth = scrolledComposite.getSize().x;
boolean hasScroll = false;
ScrollBar scrollBar = scrolledComposite.getVerticalBar();
if (scrollBar.isVisible())
{
hasScroll = true;
newWidth -= scrolledComposite.getVerticalBar().getSize().x;
}
newWidth -= 8;
Point size = contentComposite.computeSize(newWidth, SWT.DEFAULT);
contentComposite.setSize(size);
int scroll_multiplier = size.y/50;
scrollBar.setIncrement(scroll_multiplier);
/**
* If the scroll bar became visible because of the resize, then
* we actually need to resize it again, because of the scroll
* bar taking up some extra space.
*/
if (scrollBar.isVisible() && !hasScroll)
{
scrolledComposite.notifyListeners(SWT.Resize, null);
}
}
Надеюсь, что это поможет!
Редактировать: wow Я не заметил даты OP. Надеюсь, что это поможет кому-то помочь ...