最代码官方的gravatar头像
最代码官方 2014-06-04 22:19:53

java swing实现动态心形图案的代码下载

package com.zuidaima.swing;

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

import javax.swing.JFrame;

@SuppressWarnings("serial")
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();
	}

}

java swing实现动态心形图案的代码下载

转自:http://www.oschina.net/code/snippet_1591393_36195


打赏

已有2人打赏

lczd888的gravatar头像 FangTianhe的gravatar头像

最代码最近下载分享源代码列表最近下载
最代码最近浏览分享源代码列表最近浏览
ZYM_96  LV1 2023年6月8日
另类清晨  LV8 2023年5月15日
Small CN  LV7 2022年12月6日
zxc131313  LV12 2022年11月17日
qqppss 2022年11月9日
暂无贡献等级
暂无贡献等级
踏娇娇  LV1 2022年11月6日
wadadd  LV7 2022年9月5日
cmh208168  LV1 2022年6月13日
yerwiu  LV10 2022年5月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友