我试图通过按SHIFT键选择多个对象,然后通过右键单击并选择删除选项,它应该能够删除所有选定的对象。无法删除多选对象
但是,它没有工作。
我的代码如下。
鼠标点击
clickShape = null;
int x = clickEvent.getX(); // x-coordinate of point where mouse was
// clicked
int y = clickEvent.getY(); // y-coordinate of point
// when press down shift key
if (clickEvent.isShiftDown()) {
for (int i = 0; i < shapes.size(); i++) {
Shape s = (Shape) shapes.get(i);
if (s.containsPoint(x, y)) {
s.setColor(Color.RED);
multiShape.add(s);
}
}
DeleteSelection
else if (command.equals("Delete Selection")) {
for (Shape s : multiShape)// look for multishape size
shapes.remove(multiShape);
}// remove selectedmultiple object.
删除
shape s
这是有用得多检索对象的ID,然后在目标坐标删除。另外,删除后,您必须调用repaint。 –Shape区域可能为零并且从不包含任何点。尝试找到最接近你的点击的形状,如果它足够接近添加到列表。 – krzydyn