How do I draw a rectangle in Java 2D?

The code snippet below show you how to use the Graphics2D class the draw a rectangle. You can see the snippet in the paintComponent(Graphics g) method defined in the anonymous JPanel object.

To draw a rectangle we use the Rectangle2D.Double static-inner class. The constructor of this class accept the information about the rectangle x, y coordinates and its width and height.

package org.kodejava.example.awt.geom;

import javax.swing.*;
import java.awt.*;
import java.awt.geom.Rectangle2D;

public class DrawRectangle {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame("Draw Rectangle");
                frame.add(new JPanel() {
                    protected void paintComponent(Graphics g) {
                        // Draw a rectangle using Rectangle2D class
                        Graphics2D g2 = (Graphics2D) g;

                        double x = 100;
                        double y = 100;
                        double width = x + 200;
                        double height = y + 50;

                        // Draw the red rectangle
                        g2.draw(new Rectangle2D.Double(x, y, width, height));

                        // Draw the blue rectangle
                        g2.draw(new Rectangle2D.Double(150, 50, 200, 250));
                }, BorderLayout.CENTER);

                frame.setSize(new Dimension(500, 400));

Here is the result you’ll get when you run the snippet:

Draw Rectangle


Programmer, runner, recreational diver, live in the island of Bali, Indonesia. Mostly programming in Java, Spring Framework, Hibernate / JPA. Support me, buy me ☕ or 🍵


Leave a Reply