当前位置:首页 > Java

java 如何画圆

2026-02-05 00:44:46Java

使用 Java 绘制圆形的方法

使用 Graphics 类绘制圆形

Java 的 Graphics 类提供了 drawOval 方法,可以在 Swing 组件上绘制圆形。以下是一个简单的示例代码:

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

public class DrawCircle extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawOval(50, 50, 100, 100); // 参数:x, y, width, height
    }

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

使用 Graphics2D 绘制圆形

Graphics2DGraphics 的子类,提供了更丰富的绘图功能,可以设置线条粗细、颜色等属性:

java 如何画圆

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

public class DrawCircle2D extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        g2d.setColor(Color.RED);
        g2d.setStroke(new BasicStroke(3));
        g2d.drawOval(50, 50, 100, 100);
    }

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

填充圆形

如果需要填充圆形,可以使用 fillOval 方法:

java 如何画圆

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

public class FillCircle extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.BLUE);
        g.fillOval(50, 50, 100, 100);
    }

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

使用 Shape 接口绘制圆形

Shape 接口提供了更灵活的绘图方式,可以结合 Ellipse2D 类绘制圆形:

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

public class DrawCircleShape extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        Ellipse2D circle = new Ellipse2D.Double(50, 50, 100, 100);
        g2d.draw(circle);
    }

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

使用 JavaFX 绘制圆形

如果使用 JavaFX,可以通过 Circle 类实现:

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 DrawCircleFX extends Application {
    @Override
    public void start(Stage primaryStage) {
        Circle circle = new Circle(100, 100, 50);
        circle.setFill(Color.GREEN);

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

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

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

以上方法涵盖了从基础的 Swing 绘图到 JavaFX 的多种实现方式,可以根据项目需求选择合适的方法。

标签: java
分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

如何卸载java

如何卸载java

卸载Java的步骤 Windows系统卸载方法 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到Java相关条目(如“Java 8 Update 251”),右键选择卸载并跟随向导完成操…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

java实现js

java实现js

Java 实现 JavaScript 功能 在 Java 中实现 JavaScript 功能通常涉及以下几种方法: 使用 ScriptEngine Java 提供了 javax.script 包,可…

java如何创建线程

java如何创建线程

在Java中创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法,可以创建一个线程。启动线程时调…