如何在Java 2D中绘制矩形?

下面的代码段显示了如何使用Graphics2D该类绘制矩形。您可以paintComponent(Graphics g)在匿名JPanel对象中定义的方法中查看代码片段。

要绘制矩形,我们使用Rectangle2D.Doublestatic-inner类。此类的构造方法接受有关矩形x,y坐标及其width和的信息height。

package org.nhooo.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() {
            @Override
            public void run() {
                JFrame frame = new JFrame("Draw Rectangle");
                frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                frame.add(new JPanel() {
                    @Override
                    protected void paintComponent(Graphics g) {
                        // 使用Rectangle2D类绘制矩形
                        Graphics2D g2 = (Graphics2D) g;
                        g2.setColor(Color.RED);

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

                        // 画红色矩形
                        g2.draw(new Rectangle2D.Double(x, y, width, height));

                        g2.setColor(Color.BLUE);
                        // 画蓝色矩形
                        g2.draw(new Rectangle2D.Double(150, 50, 200, 250));
                    }
                }, BorderLayout.CENTER);

                frame.pack();
                frame.setSize(new Dimension(500, 400));
                frame.setVisible(true);
            }
        });
    }
}

这是运行代码段时得到的结果:

图片.png