Итак, мне дали код стартера для проекта, в основном домашнюю работу для класса java, в котором я участвую, но, похоже, не могут получить решение совершенно правильно. Основная идея: на графическом дисплее есть стек прямоугольников, и каждый прямоугольник можно щелкнуть. если вы нажмете прямоугольник где-то ниже верхнего, тот, который вы нажали, будет поднят на верх. будет сделана проверка, чтобы убедиться, что это произойдет, только если вы щелкнете только это поле, и только если вы щелкнули видимую часть этого окна.сложенные прямоугольники не двигаются должным образом
это раздел кода в вопросе, часть я должен был добавить:
public void moveToTop(Point p) {
int movingRectangle = -1;
for(int i = 0; i > rects.size(); i++) {
if(isInside(rects.get(i), p)) {
movingRectangle = i;
}
}
if(movingRectangle >= 0) {
addRect(deleteRect(movingRectangle));
}
}
private boolean isInside(Rectangle143 r, Point p) {
return r.getX() <= p.getX()
&& p.getX() <= r.getX() + r.getWidth()
&& r.getY() <= p.getY()
&& p.getY() <= r.getY() + r.getHeight();
}
Моя проблема заключается в том, что ящики не приходят к вершине как это должно быть. они доступны для просмотра и показывают местоположение, где я щелкнул, но ничего не выходит на передний план.
Надеюсь, я задал этот вопрос, так что это легко понять .. если нет .. дайте мне знать, что я забыл, и я постараюсь изо всех сил заполнить любые пробелы.
Из любопытства: почему вы называете класс «Rectangle143»? – GhostCat