Как рисовать дочерние элементы Composite в SWT?

Я понимаю, что для рисования на Composite вы можете добавить прослушиватель рисования, но это приводит к рисованию под дочерними элементами. Что, если я хочу нарисовать поверх детей?

Следующий рисунок рисует линию, но subc нарисован поверх нее.

Composite c = new Composite(shell, 0);
c.setBackground(shell.getDisplay().getSystemColor(SWT.COLOR_BLUE));
c.setBounds(100, 100, 800, 600);

c.addPaintListener(new PaintListener() {
    public void paintControl(PaintEvent e) {
        e.gc.drawLine(0, 0, 500, 1000);
    }
});

final Composite subc = new Composite(c, 0);
subc.setLayout(null);
subc.setBounds(10, 10, 600, 400);
8
задан Jacob 27 July 2011 в 18:22
поделиться