我是codenameone的初学者。我分配的任务是在屏幕上绘制任何内容(不是矩形或任何形状)。任何手段都可以用手指做任何事。像android一样,您可以在手势布局中在表面上绘制任何内容。

我见过一些论坛说我应该派生容器并重写paint方法。那从来没有导致我什么。即使是教程指南也只是一步一步来。我不会提供一些可行的示例或任何可以找到合适材料的链接。

最佳答案

您是否阅读了开发人员指南:http://www.codenameone.com/developer-guide.html

JavaDocs:https://codenameone.googlecode.com/svn/trunk/CodenameOne/javadoc/index.html

您应该派生组件并覆盖绘画,请注意此代码确实很糟糕,因为它不能消除重复或做任何聪明的事情:

class Draw extends Component {
    private ArrayList<Point> points = new ArrayList<Point>();

    public Draw() {
       setFocusable(true);
    }

    public void pointerPressed(int x, int y) {
        points.add(new Point(x, y, 0xff0000));
    }

    public void pointerDragged(int x, int y) {
        points.add(new Point(x, y, 0xff0000));
    }

    public void pointerReleased(int x, int y) {
        points.add(new Point(x, y, 0xff0000));
    }

    public void paint(Graphics g) {
       Point lastPoint = null;
       for(Point p : points) {
           if(lastPoint != null) {
               g.setColor(p.color);
               g.drawLine(lastPoint.x, lastPoint.y, p.x, p.y);
           }
           lastPoint = p;
       }
    }
}

class Point {
    int x;
    int y;
    int color;

    public Point(int x, int y, int color) {
       this.x = x; this.y = y; this.color = color;
    }
}

关于java - Blackberry [CodeNameone]-在屏幕上绘图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20598421/

10-09 04:48