A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java代码编辑一个心形图案






import java.awt.Color;  
import java.awt.Graphics;  
import java.awt.Image;  
import java.awt.Toolkit;  

import javax.swing.JFrame;  

@SuppressWarnings("serial")  
public class Cardioid extends JFrame {  
    // 定义窗口大小  
    private static final int WIDTH = 480;  
    private static final int HEIGHT = 600;  

    // 获取屏幕大小  
    private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit()  
            .getScreenSize().width;  
    private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit()  
            .getScreenSize().height;  

    // 构造函数  
    public Cardioid() {  
        // 设置窗口标题  
        super("?形线");  
        // 设置背景色  
        this.setBackground(Color.BLACK);  
        // 设置窗口位置  
        this.setLocation((WINDOW_WIDTH - WIDTH) / 2,  
                (WINDOW_HEIGHT - HEIGHT) / 2);  
        // 设置窗口大小  
        this.setSize(WIDTH, HEIGHT);  
        // 设置窗口布局  
        this.setLayout(getLayout());  
        // 设置窗口可见  
        this.setVisible(true);  
        // 设置窗口默认关闭方式  
//        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);  
    }  

    public void paint(Graphics g) {  

        double x, y, r; // 横纵坐标及半径  
        Image image = this.createImage(WIDTH, HEIGHT);  
        Graphics pic = image.getGraphics();  

        // 绘制图形  
        for (int i = 0; i < 100; i++) {  
            for (int j = 0; j < 100; j++) {  
                r = Math.PI / 45 + Math.PI / 45 * i  
                        * (1 - Math.sin(Math.PI / 45 * j)) * 18;  

                x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i)  
                        + WIDTH / 2;  

                y = -r * Math.sin(Math.PI / 45 * j) + HEIGHT / 2;  

                pic.setColor(Color.MAGENTA);  
                pic.fillOval((int) x, (int) y, 2, 2);  
            }  
            // 生成图片  
            g.drawImage(image, 0, 0, this);  

        }  

    }  

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

    }  

}  












0 个回复

您需要登录后才可以回帖 登录 | 加入黑马