Я делал свою домашнюю работу на Graphics2d и Polygon, однако я не могу найти (или, возможно, использую неправильное ключевое слово?) Решение моей домашней работы.
Скриншот вопроса Hoemwork:
Приведенный ниже код является первым подходом, который я попробовал, я вижу только пустой экран.После некоторых поисков в Google я понял, что неправильно использовал .scale и .translate, поэтому я перемещаю его перед .drawPolygon, на этот раз я вижу многоугольник, но это после того, как я увеличил свое окно, что означает, что это не так.видны в пределах 300, 300 изначально?
import javax.swing.*;
public class PolygonExample extends JFrame{
public PolygonExample(){
super("Drawing Red Polygon");
setSize(300, 300);
setVisible (true);
}
public void paint (Graphics g){
super.paint(g);
int xValue[] = {0, 10, 7, -7, -10};
int yValue[] = {-10, -2, 10, 10, -2};
Polygon polygon = new Polygon(xValue, yValue, 5);
g.setColor(Color.RED);
g.drawPolygon(polygon);
Graphics2D g2d = (Graphics2D) g;
g2d.scale(5.0, 5.0);
g2d.translate(150, 150);
}
public static void main(String[] args) {
new PolygonExample();
}
}
Я ожидаю, что многоугольник будет нарисован в центре области отображения (в пределах 300x300), но я ничего не видел на экране.После увеличения окна я вижу свой многоугольник, но он не находится в области 300, 300, которую я установил