21xrx.com
2024-09-17 03:36:20 Tuesday
登录
文章检索 我的文章 写文章
Java编写空心五角星的代码演示
2023-06-14 23:12:30 深夜i     --     --
Java编程 绘图 空心五角星

在Java编程中,我们经常需要通过绘图实现各种形状的图案。本篇文章将介绍如何通过Java代码实现绘制空心五角星的效果。

首先,我们需要了解五角星的绘制方法。五角星每个角的度数是72度,因此需要计算出五个顶点的坐标,并依照这些坐标进行绘制。具体细节请参考代码实现。

代码实现如下:


import java.awt.Color;

import java.awt.Graphics;

import java.awt.Polygon;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class DrawHollowPentagram extends JFrame {

  private static final long serialVersionUID = 8864697192942942954L;

  public DrawHollowPentagram() {

    super();

    setTitle("绘制空心五角星");

    setBounds(200, 200, 400, 400);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    getContentPane().setBackground(Color.WHITE);

    MyPanel panel = new MyPanel();

    getContentPane().add(panel);

  }

  public static void main(String[] args) {

   new DrawHollowPentagram().setVisible(true);

  }

  private class MyPanel extends JPanel {

    private static final long serialVersionUID = -6426712571700215135L;

    public void paint(Graphics g) {

     g.setColor(Color.BLACK);

     int n = 5;

     int R = 100;

     int r = 50;

     int centerX = 200;

     int centerY = 200;

     Polygon polygon = new Polygon();

     for (int i = 0; i < n; i++) {

      polygon.addPoint((int) (centerX - R * Math.sin((i * 2 * Math.PI / n))),

          (int) (centerY - R * Math.cos((i * 2 * Math.PI / n))));

      polygon.addPoint((int) (centerX - r * Math.sin((i * 2 * Math.PI / n + Math.PI / n))),

          (int) (centerY - r * Math.cos((i * 2 * Math.PI / n + Math.PI / n))));

     }

     g.drawPolygon(polygon);

    }

  }

}

通过上述代码,我们就能够绘制出一个空心五角星的图案了。其中,MyPanel类用于绘制五角星,DrawHollowPentagram类用于创建窗口并添加MyPanel。具体实现可参考代码注释。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复