我是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/