NarayananKrish Ответов: 2

Не удается разрешить rect.x, rect.y, rect.height, rect.width


ниже приведен код для меня, чтобы проверить. он показывает ошибку, что он не может разрешить rect.x, rect.y, rect.width, rect.height. как ее решить?



статический Rectangle2D rotateRect (RectangularShape rect, int angle, Point2D pivot = null )
{



if (pivot == null)
{
пивот = новый Point2D.Двухместный(прямоугольник.х + (инт) математика.круг(прямоугольник.ширина / 2Д), прямоугольник.г + (инт) математика.круг(прямоугольник.высота / 2Д));
}

двойной рад = угол * математика.ПИ / 180;
double diffX = rect.x - pivot.x;
double diffY = rect.y - pivot.y;
тип int х = (тип int) математика.круг(прямоугольник.х - diffX + (diffX * математика.потому что(рад)) + (diffY * математика.грех(рад)));
инт г = (тип int) математика.круг(прямоугольник.y - diffY + (diffY * Math.cos(rad)) - (diffX * Math.sin(rad)));

возврат новый Rectangle2D.Двухместный(Х, Y, прямоугольник.ширина, прямоугольник.высота);
}

Что я уже пробовал:

Я пытался пытался объявить x и y но даже это показывает ошибку

2 Ответов

Рейтинг:
1

CPallini

То RectangularShape[^] класс не обладает такими свойствами. Однако он действительно обеспечивает getX и getY методы. В качестве альтернативы (в зависимости от ваших потребностей) вы можете вызвать getBounds метод, который возвращает a Rectangle что, в свою очередь, обеспечивает X, Y свойства.


Рейтинг:
1

Richard MacCutchan

Пожалуйста, не повторяйте один и тот же вопрос. Вот еще одна ссылка, чтобы вы могли понять, почему эти поля не могут быть разрешены. RectangularShape (Java Platform SE 7 )[^]