LWUIT Painter: Как нарисовать линию поверх графического ярлыка? - PullRequest
1 голос
/ 01 апреля 2012

У меня есть изображение, созданное следующим образом.

Painter painter = new Painter() 
        {

            public void paint(Graphics g, Rectangle rctngl) 
            {
                g.setColor(0x000000);
                g.drawLine(0, 0, 100, 100);
            }
        };
        mapScreen = new Form("Map");
        try 
        {
            Image image = Image.createImage("/res/Sample.jpg");
            Label labelImage = new Label(image);
            labelImage.setScrollVisible(true);
            labelImage.setFocus(true);
            labelImage.getStyle().setBgPainter(painter);
            mapScreen.addComponent(labelImage);

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

РЕДАКТИРОВАТЬ:

Рисование линий успешно, но проблема в том, что линии нарисованы заlabelImage.Как я могу сделать так, чтобы линии были нарисованы перед?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2012

Вам нужно применить рисователь к стилю «Не выбранный» и «Выбранный», так как вы задаете метку. Вы также рисуете диагональную линию, а не прямую линию.

1 голос
/ 02 апреля 2012

Как насчет получения класса Label и реализации метода paint(Graphics g)! Там вы можете использовать Graphics объект 'g' для draw line и image.

...