Я какое-то время изучал это и нашел очень мало информации о SWT MouseWheelListeners
. Выясните, сталкивался ли кто-либо из вас с этим или имеет ссылку на что-то, что могло бы помочь объяснить их.
Я пытаюсь найти информацию о SWT MouseWheelListener
и о том, как она используется надлежащим образом. Я пытаюсь использовать MouseWheelListener
для создания эффекта масштабирования на композите, который рисует на нем несколько составных объектов.
По сути, при увеличении изображения можно перерисовать холст в два раза больше нормального размера, перерисовать объекты на холсте в пропорциональной компоновке и переместить фокус в точку, на которой ведется вращение.
Мои вопросы следующие:
Можно ли использовать MouseWheelListener
для Composite или слушатель только для таких объектов, как прокручиваемые композиты (я знаю, что метод есть; ничего не происходит, когда я пытаюсь прокрутить свой объект (в том числе при отладке)?
Как скинуть MouseScrolledEvent
на Composite
, если возможно
Как провести различие между колесом вверх и колесом вниз (например, положительное значение для положительного и отрицательное для отрицательного)?
Код следует:
public TagCloudComposite(Composite parent, int style) {
super(parent, style);
addMouseWheelListener(new MouseWheelListener() {
public void mouseScrolled(MouseEvent e) {
int count = e.count;
System.out.println(count);
// int direction = (Math.abs(count) > 0) ? UP : DOWN;
// changeBackground(direction);
}
});
this.setLayout(new FillLayout());
this.setMinWeight(1);
this.setMaxWeight(100);
c = new Composite(this, SWT.NONE);
this.setSize(300, 200);
}