Я создаю программу, в которой могу рисовать различные формы на холсте для рисования. Я хочу добавить кнопку, которая после нажатия позволяет мне выбрать фигуру, а затем перетащить / перевести ее в другое место на холсте. Какова основная концепция реализации этого? Когда я нажимаю на фигуру, чтобы выделить ее, я хочу каким-то образом добавить рамку вокруг нее, чтобы показать, что она выбрана.
Хорошо, я попробовал это, и это вроде работает. Кроме того, я могу выбрать несколько фигур, и граница, которая показывает, что он выбран, не появляется вокруг фигуры до тех пор, пока я не изменю переключатели, чтобы сделать что-то еще. Затем появляется выбор. Я не знаю, как это исправить? Я попытался добавить логическое значение, чтобы исправить возможность выбора нескольких фигур, но это не работает. 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;
}