我想实现平移和缩放。我想平移和缩放具有对象(动物)的组件。我想缩放和平移此组件。我知道我必须使用捏合方法,但我无法弄清楚如何。
我正在使用的代码是,
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;
}
}
我将它包含在一个表单中,我想缩放和平移。请帮助!!!!
答案 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,则事件将沿着层次结构向下传播。
您应该检查该类以进行平移以及它实现所有这些。
请注意,您应该使组件可以获得焦点,否则它将不会获得事件通知。