LWUIT Painter:如何在图像标签上绘制线条?

时间:2012-04-01 01:24:34

标签: java java-me label lwuit

我有一个像这样创建的图像标签。

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);

我想在它上面绘制一些线条。我尝试过像上面的代码一样使用画家,但我无法成功地做到这一点。我怎么做错了,怎么解决呢?

编辑:

线条的绘制是成功的,但问题是这些线条是在labelImage后面绘制的。我怎样才能将线条画在前面?

2 个答案:

答案 0 :(得分:2)

您需要将画家应用于Unselected和Selected样式,因为您给予标签焦点。你也画了一条对角线而不是一条海峡线。

答案 1 :(得分:1)

如何派生Label类并实现paint(Graphics g)方法呢?在那里,您可以使用Graphics对象'g'来draw lineimage