当前位置:首页 > Java

java如何画圆

2026-03-03 12:02:28Java

使用Java绘制圆形的方法

使用Graphics2D绘制圆形

Graphics2D是Java中用于绘制2D图形的类,可以通过以下代码绘制圆形:

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

public class DrawCircle extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        g2d.setColor(Color.RED);
        g2d.drawOval(50, 50, 100, 100); // 绘制空心圆
        g2d.fillOval(200, 50, 100, 100); // 绘制实心圆
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Draw Circle");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new DrawCircle());
        frame.setSize(400, 200);
        frame.setVisible(true);
    }
}

使用JavaFX绘制圆形

JavaFX提供了更现代的图形绘制功能:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class JavaFXCircle extends Application {
    @Override
    public void start(Stage primaryStage) {
        Circle circle = new Circle(100, 100, 50);
        circle.setFill(Color.BLUE);
        circle.setStroke(Color.BLACK);

        StackPane root = new StackPane();
        root.getChildren().add(circle);

        Scene scene = new Scene(root, 300, 200);
        primaryStage.setTitle("JavaFX Circle");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

使用AWT绘制圆形

对于简单的AWT应用程序:

import java.awt.*;
import java.awt.event.*;

public class AWTCircle extends Frame {
    public AWTCircle() {
        setSize(300, 300);
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent we) {
                System.exit(0);
            }
        });
    }

    public void paint(Graphics g) {
        g.setColor(Color.GREEN);
        g.drawOval(100, 100, 100, 100);
    }

    public static void main(String[] args) {
        AWTCircle circle = new AWTCircle();
        circle.setVisible(true);
    }
}

使用BufferedImage绘制圆形

在内存中创建图像并绘制圆形:

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

public class BufferedImageCircle {
    public static void main(String[] args) {
        BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);
        Graphics2D g2d = image.createGraphics();

        g2d.setColor(Color.ORANGE);
        g2d.fillOval(50, 50, 100, 100);
        g2d.dispose();

        JLabel label = new JLabel(new ImageIcon(image));
        JFrame frame = new JFrame();
        frame.add(label);
        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

使用参数方程绘制圆形

通过数学计算绘制圆形:

java如何画圆

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

public class ParametricCircle extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        g2d.setColor(Color.MAGENTA);

        int centerX = 150, centerY = 150, radius = 100;
        for (double angle = 0; angle < 2 * Math.PI; angle += 0.01) {
            int x = (int) (centerX + radius * Math.cos(angle));
            int y = (int) (centerY + radius * Math.sin(angle));
            g2d.fillRect(x, y, 2, 2);
        }
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Parametric Circle");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new ParametricCircle());
        frame.setSize(300, 300);
        frame.setVisible(true);
    }
}

标签: java
分享给朋友:

相关文章

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

如何导入java项目

如何导入java项目

导入Java项目的方法 使用IDE导入(如IntelliJ IDEA或Eclipse) 打开IDE后选择导入现有项目,导航至项目根目录(包含pom.xml或build.gradle的文件位置)。IDE…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…

如何精通java

如何精通java

理解Java核心概念 Java的基础知识包括数据类型、变量、运算符、控制流语句(如循环和条件判断)、数组以及面向对象编程(OOP)的核心概念(类、对象、继承、多态、封装)。熟练掌握这些内容是后续学习的…