首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用鼠标点击复制多边形?

如何用鼠标点击复制多边形?
EN

Stack Overflow用户
提问于 2009-10-06 17:36:39
回答 1查看 583关注 0票数 0

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

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

代码语言:javascript
复制
.....
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;
     }
     }
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-06 18:03:38

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

代码语言:javascript
复制
    int button = e.getButton();
    if(button==MouseEvent.BUTTON1){

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

    }

有关更多信息,请参阅MouseEvent的javadoc

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1527010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档