【发布时间】:2011-12-04 05:47:23
【问题描述】:
我正在创建一个程序,我可以在其中在绘图画布上绘制不同的形状。我想添加一个按钮,单击该按钮后,我可以选择一个形状,然后将其拖动/翻译到画布上的不同位置。实现这一点的基本概念是什么?当我单击形状以选择它时,我想以某种方式在它周围添加一个边框以显示它已被选中。
好的,我试过了,效果不错。除了,我可以选择多个形状,并且在我更改单选按钮执行其他操作之前,显示其选择的边框不会出现在形状周围。然后出现选择。我不知道如何解决这个问题?我尝试添加一个布尔值来修复能够选择多个形状的问题,但它不起作用。 boolean isSelected 最初设置为 false。我不明白为什么边框颜色/宽度不会在鼠标单击时自动出现。
public void mousePressed(MouseEvent e) {
if ((_buttonNumber == 0) || (isSelected)) {
for(int i=0; i<_storedShapes.size(); i++) {
_storedShapes.elementAt(i).contains(e.getPoint());
_storedShapes.elementAt(i).setBorderWidth(10);
_storedShapes.elementAt(i).setBorderColor(Color.BLACK);
isSelected = true;
}
}
else {
isSelected = false;
}
【问题讨论】:
标签: java swing graphics shape drag-and-drop