在Codenameone中平移和缩放

时间:2016-01-26 19:28:37

标签: java codenameone

我想实现平移和缩放。我想平移和缩放具有对象(动物)的组件。我想缩放和平移此组件。我知道我必须使用捏合方法,但我无法弄清楚如何。

我正在使用的代码是,

public class sample extends Component
{

   @Override
   public void paint(Graphics g)
   {
      super.paint(g);
      g.drawArc(100,100,50,50,0,180);
   }
   @Override
   protected boolean pinch(float scale)
   {
      return true;  
   }
}

我将它包含在一个表单中,我想缩放和平移。请帮助!!!!

1 个答案:

答案 0 :(得分:0)

ImageViewer班级here中查看此块。

protected boolean pinch(float scale) {
    zoom = currentZoom * scale;
    if(zoom < MIN_ZOOM) {
        zoom = MIN_ZOOM;
    } else {
        if(zoom > MAX_ZOOM) {
            zoom = MAX_ZOOM;
        }            
    }
    updatePositions();
    repaint();
    return true;
}

当有用户手势时调用Pinch。它并不意味着重绘,因此您需要调用它。如果您为pinch返回false,则事件将沿着层次结构向下传播。

您应该检查该类以进行平移以及它实现所有这些。

请注意,您应该使组件可以获得焦点,否则它将不会获得事件通知。