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