2013-12-15 38 views
0

我是codenameone的初學者。我有任務分配,在屏幕上繪製任何[不是矩形或任何形狀]。任何事情都意味着它可以是任何手指。像android有手勢佈局,你可以在任何地方繪製任何東西。Blackberry [CodeNameone] - 在屏幕上繪圖

我見過一些論壇說我應該派生容器並重寫paint方法。這從來沒有讓我得到任何東西。即使教程指南只是通過steps.I不會有一些工作的例子或任何鏈接,我可以找到一些合適的材料。

回答

1

你閱讀開發人員指南:http://www.codenameone.com/developer-guide.html

的JavaDoc: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; 
    } 
}