Нет, ничего не встроено, хотя, когда вы рисуете многоугольник, вы можете нарисовать многоугольник с примененной матрицей преобразования, которая может масштабировать многоугольник для вас. (или вращать, наклонять и т. д. и т. д.).
см
Graphics2D.setTransform (преобразование);
Предположим, вы рисуете многоугольник в JPanel, и вы переопределили метод paintComponent в JPanel. Приведите объект Graphics к объекту Graphics2D и используйте преобразования, чтобы масштабировать его соответствующим образом:
public void paintComponent(Graphic g) {
Graphics2D g2d = (Graphics2D) g;
AffineTransform saveTransform = g2d.getTransform();
try {
AffineTransform scaleMatrix = new AffineTransform();
scaleMatrix.scale(1.5, 1.5);
//or whatever you want
g2d.setTransform(scaleMatrix);
g2d.drawPolygon(myPolygon);
} finally {
g2d.setTransform(saveTransform);
}
}
Скорее всего, вы можете установить матрицу преобразования в другом месте (один раз), а не каждый раз в методе paintComponent, но я сделал это здесь, чтобы показать, как это сделать.
Также обратите внимание, что это переместит многоугольник, вы, вероятно, захотите применить это к преобразованию:
- добавить перевод для перемещения многоугольника в начало координат
- добавить шкалу
- добавить перевод, чтобы переместить многоугольник обратно в исходное положение
Таким образом, объект не перемещается, он просто масштабируется.