Я нарисовал изображение на Composite, используя следующий код
imageCanvas = new Composite(shell, SWT.BORDER);
//adding paintListener to the canvas
imageCanvas.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e)
{
if (sourceImage != null)
{
// draw the image
e.gc.drawImage(sourceImage, 120, 150);
//check the bounds of the image using the getBounds function
Rectangle newrec = sourceImage.getBounds();
System.out.println("X: " +newrec.x + " Y: "+newrec.y ); // prints (0, 0) instead of (120, 150)
}
}
});
Теперь я пытаюсь получить положение изображения на экране.Функция image.getBounds возвращает границы внутри родительского контейнера, а метод getLocationOnScreen (), используемый в AWT / Swing, недоступен для SWT.Как узнать положение изображения на экране в SWT?