如何使用鼠标单击复制多边形?

时间:2009-10-06 17:36:39

标签: java copy drawing

如何使用鼠标单击制作多边形的副本(例如,当鼠标单击时,弹出的菜单会显示复制菜单。)

我有区分鼠标点击,绘图或复制的问题。我创建了一个方法 当用户按下鼠标时,该方法将检查鼠标是在现有多边形内部还是外部按下。如果它在多边形外面,它将绘制一个新的多边形。如果在外面,它将移动多边形。我怎么能复制多边形?

.....
public void mousePressed(MouseEvent e) {                    
  startDrag = new Point(e.getX(), e.getY());
  endDrag = startDrag;
  repaint();                
  for(Polygon p:triangles){                     
     if(p.contains(startDrag)){ // if inside polygon triangle, mark the triangle
    selectedTriangle = p;
    break;
     }
  }
}

....

public void mouseClicked(MouseEvent e) {
   startDrag = new Point(e.getX(), e.getY());
   Polygon[] triArray = triangles.toArray(new   Polygon[triangles.size()]);
   if (e.getClickCount() ==2) {
      for (Polygon p:triArray){
     if (p.contains(startDrag)) {//Polygon has a 'contains(Point)' 
      triangles.remove (p);
          break;
     }
     }
 }

1 个答案:

答案 0 :(得分:0)

您可以从鼠标事件中按下按钮。如

    int button = e.getButton();
    if(button==MouseEvent.BUTTON1){

    }else if(button == MouseEvent.BUTTON3){

    }

有关详情,请参阅Mouse {javadoc获取更多信息。