import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.UIManager; public class DrawFrame extends JFrame { public DrawFrame() { setLayout(new BorderLayout()); getContentPane().add(new DrawComponent(), BorderLayout.CENTER); } public static class DrawComponent extends JComponent { public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D)g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setStroke(new BasicStroke(3.0f)); // ----------------------------------------------------------------- // Put your implementation here // ----------------------------------------------------------------- } } public void center() { Dimension screenSize = getToolkit().getScreenSize(); Dimension frameSize = getSize(); Point location = new Point((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); setLocation(location); } public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); JFrame.setDefaultLookAndFeelDecorated(true); DrawFrame f = new DrawFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(new Dimension(400, 400)); f.center(); f.setVisible(true); } }