Репликация функциональности ImageIcon в SWT - PullRequest
0 голосов
/ 13 марта 2012

В моем приложении SWT у меня есть холст, показывающий карту, в настоящее время я рисую прямо на холст некоторое представление данных. Я хочу добиться функциональности, как в Swing, где у меня может быть ImageIcon, который может управлять его прослушиванием по щелчку и добавлять их на холст, как этого можно достичь, как можно прозрачно добавить некоторые на холст, чтобы я все еще мог щелкнуть холст а какие классы похожи на ImageIcon? В настоящее время я должен выполнить итерацию, чтобы проверить, соответствует ли щелчок местоположению, в котором я нарисовал точку, это нежелательно.

1 Ответ

0 голосов
/ 15 марта 2012

Вы можете добавить другой (прозрачный) холст на свой холст и прослушивать на нем события мыши.

org.eclipse.swt.graphics.Image dataImage = ...;

Canvas dataCanvas = new Canvas(mapCanvas, SWT.TRANSPARENT);
dataCanvas.addPaintListener(new PaintListener(){
    @Override
    public void paintControl(PaintEvent e) {
        e.gc.drawImage(dataImage, 0, 0);
    }
});
dataCanvas.setBounds(locationX, loctionY,
    dataImage.getBounds().width, dataImage.getBounds().height);

dataCanvas.addMouseListener(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...