如何使用鼠标单击制作多边形的副本(例如,当鼠标单击时,弹出的菜单会显示复制菜单。)
我有区分鼠标点击,绘图或复制的问题。我创建了一个方法 当用户按下鼠标时,该方法将检查鼠标是在现有多边形内部还是外部按下。如果它在多边形外面,它将绘制一个新的多边形。如果在外面,它将移动多边形。我怎么能复制多边形?
.....
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;
}
}
}
答案 0 :(得分:0)
您可以从鼠标事件中按下按钮。如
int button = e.getButton();
if(button==MouseEvent.BUTTON1){
}else if(button == MouseEvent.BUTTON3){
}
有关详情,请参阅Mouse {javadoc获取更多信息。