21xrx.com
2025-04-04 05:48:24 Friday
文章检索 我的文章 写文章
Java绘制五角星代码示例
2023-06-15 07:08:51 深夜i     11     0
Java

在Java编程中,我们常常需要进行图形绘制的操作,其中绘制五角星也是很常见的。那么在这里,就为大家分享一下Java绘制五角星的代码示例。

为了绘制五角星,我们首先需要了解五角星的参数,包括五角星中心坐标、半径、内角、边数等。根据这些参数,我们就可以使用Java中Graphics2D类的绘图方法,比如drawPolygon,来绘制出漂亮的五角星。

下面是Java绘制五角星的代码示例:

import java.awt.*;
import javax.swing.*;
public class DrawStar extends JPanel {
  private Color color;
  private int centerX, centerY, radius, sides = 5;
  public DrawStar(Color color, int centerX, int centerY, int radius)
    this.color = color;
    this.centerX = centerX;
    this.centerY = centerY;
    this.radius = radius;
  
  private Polygon getPolygon() {
    double angle, x, y;
    Polygon polygon = new Polygon();
    for (int i = 0; i < sides; i++) {
      angle = i * 2 * Math.PI / sides - Math.PI / 2;
      x = centerX + radius * Math.cos(angle);
      y = centerY + radius * Math.sin(angle);
      polygon.addPoint((int) x, (int) y);
      angle += Math.PI / sides;
      x = centerX + (radius / 2) * Math.cos(angle);
      y = centerY + (radius / 2) * Math.sin(angle);
      polygon.addPoint((int) x, (int) y);
    }
    return polygon;
  }
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2d = (Graphics2D) g;
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setColor(color);
    g2d.fill(getPolygon());
  }
  public static void main(String[] args) {
    JFrame frame = new JFrame("DrawStar");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(new DrawStar(Color.YELLOW, 150, 150, 100));
    frame.setSize(400, 400);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}

其中,DrawStar类继承JPanel,实现了绘制五角星的方法。通过调用构造函数传入颜色、中心坐标和半径等参数,然后通过计算角度、坐标等值,调用getPolygon方法得到五角星的多边形对象,最后在paintComponent方法中进行绘制。

通过运行上述代码,我们可以得到一个黄色的五角星,如下图所示:

![java绘制五角星代码示例](https://img-blog.csdn.net/20160527212712595)

本文的 绘图, 五角星

  
  

评论区

请求出错了