📜  如何在java swing中画一个圆 - Java(1)

📅  最后修改于: 2023-12-03 15:08:53.670000             🧑  作者: Mango

如何在Java Swing中画一个圆

在Java Swing中,可以借助于Java AWT提供的图形库来绘制各种图形。本篇文章将介绍如何在Java Swing中绘制一个圆。

1. 创建一个继承自JComponent的自定义组件

首先,我们需要创建一个继承自JComponent的自定义组件,用于在其中绘制圆形。代码如下:

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

public class CircleComponent extends JComponent {
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        Ellipse2D circle = new Ellipse2D.Double(10, 10, 100, 100);
        g2.draw(circle);
    }
}

在这段代码中,我们重写了JComponent的paintComponent方法,并在其中使用Graphics2D绘制一个椭圆形。Ellips2D.Double类表示一个矩形内接的椭圆,它具有四个参数:x、y、width和height,表示该椭圆左上角点的坐标以及宽度和高度。

2. 把自定义组件添加到Swing容器中

接下来,我们需要将自定义组件添加到一个Swing容器中,以便在上面进行绘制。代码如下:

import javax.swing.*;

public class CircleFrame extends JFrame {
    public CircleFrame() {
        setTitle("CircleFrame");
        setSize(300, 300);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        CircleComponent component = new CircleComponent();
        add(component);
    }

    public static void main(String[] args) {
        new CircleFrame();
    }
}

在这段代码中,我们创建了一个继承自JFrame的自定义框架CircleFrame,并在其中添加了一个CircleComponent组件。需要注意的是,在CircleFrame的构造方法中,我们调用了setSize和setVisible方法,以便设置窗口的大小和可见性。同时,我们还调用了setDefaultCloseOperation方法,将默认的关闭操作设置为退出整个程序。

3. 运行程序,观察绘制效果

最后,我们运行程序,观察绘制效果。代码执行后,会弹出一个窗口,其中绘制了一个圆形。如下所示:

CircleFrame

通过以上步骤,我们成功地在Java Swing中绘制了一个圆形,并将其展示在了界面上。

总结

本篇文章介绍了如何在Java Swing中绘制一个圆形。首先,我们创建了一个继承自JComponent的自定义组件,并在其中使用Graphics2D绘制了一个椭圆形;接着,我们创建了一个继承自JFrame的自定义框架,并在其中添加了上述组件;最后,我们运行程序,成功地在界面上展示了绘制的圆形。