// This code example is created for educational purpose // by Thorsten Thormaehlen (contact: www.thormae.de). // It is distributed without any warranty. import java.awt.*; import java.awt.geom.*; import java.awt.geom.Line2D; import javax.swing.*; class MyGui extends JFrame { public void createGUI() { setTitle("HelloGUI"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(320, 240); setVisible(true); } @Override public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; // cast to Graphics2D Line2D.Double line = new Line2D.Double(20.0, 50.0, 50.0, 200.0); g2d.draw(line); Rectangle2D.Double rect = new Rectangle2D.Double(100.0, 50.0, 60.0, 80.0); g2d.draw(rect); // also try g2d.fill(rect); Ellipse2D.Double circle = new Ellipse2D.Double(200.0, 100.0, 80.0, 80.0); g2d.draw(circle); // also try g2d.fill(circle); } } public class LineRectCircle { public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { MyGui myGUI = new MyGui(); myGUI.createGUI(); } }); } }