import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Graphics; import java.awt.Polygon; public class DrawPolygon extends JFrame { public DrawPolygon() { setTitle("DrawPolygon"); add(new PolygonsPanel()); } /** Main method */ public static void main(String[] args) { DrawPolygon frame = new DrawPolygon(); frame.setLocationRelativeTo(null); // Center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 250); frame.setVisible(true); } } // Draw a polygon in the panel class PolygonsPanel extends JPanel { protected void paintComponent(Graphics g) { super.paintComponent(g); int xCenter = getWidth() / 2; int yCenter = getHeight() / 2; int radius = (int)(Math.min(getWidth(), getHeight()) * 0.4); // Create a Polygon object Polygon polygon = new Polygon(); // Add points to the polygon polygon.addPoint(xCenter + radius, yCenter); polygon.addPoint((int)(xCenter + radius * Math.cos(2 * Math.PI / 6)), (int)(yCenter - radius * Math.sin(2 * Math.PI / 6))); polygon.addPoint((int)(xCenter + radius * Math.cos(2 * 2 * Math.PI / 6)), (int)(yCenter - radius * Math.sin(2 * 2 * Math.PI / 6))); polygon.addPoint((int)(xCenter + radius * Math.cos(3 * 2 * Math.PI / 6)), (int)(yCenter - radius * Math.sin(3 * 2 * Math.PI / 6))); polygon.addPoint((int)(xCenter + radius * Math.cos(4 * 2 * Math.PI / 6)), (int)(yCenter - radius * Math.sin(4 * 2 * Math.PI / 6))); polygon.addPoint((int)(xCenter + radius * Math.cos(5 * 2 * Math.PI / 6)), (int)(yCenter - radius * Math.sin(5 * 2 * Math.PI / 6))); // Draw the polygon g.drawPolygon(polygon); } }