利用JAVA画一颗小心心
首先,这颗心是数学家画的,不是我。原理很复杂,大致原理就是迭代。
画这颗心的代码已经给出来了
public void draw(Graphics g){ for(int i=0;i<=180;i++){for(int j=0;j<=180;j++){double r=Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*20;double x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+300;double y=-r*Math.sin(Math.PI/45*j)+200; Color c=Color.getHSBColor(i*j/8100.0f, 0.9999f,0.9999f); g.setColor(c); g.drawOval((int)x, (int)y, 1,1); try{ Thread.sleep(1); }catch(Exception e){} } } }
但是,我卡在了怎么调用这个函数这里。
我本来是准备在主函数里写一个new一个heart对象,然后想C语言一样用这个对象调用draw方法。
然而这个方法需要传入Graphics g参数。
当我new一个Graphics对象时,编译器报错说,Graphics不能实例化。
um…然后我就直接Graphics g;
然后传参之后,就报错“空指针错误”。凉。。。。。
最后,再问了同学之后,发现自己的代码书写习惯十分不好,或者说是还没有熟悉规则。
1、首先是对Graphics的了解不够。这是一个画笔,它是有paint()属性的。也就是说,它可以理解为是一个画笔。画笔一定是需要有画布才能作画的。因此必须有JFrame()对象才能在上面作画,这就是它的画布。
2、然后是对编程的耦合度理解并不高。老是习惯把所有的代码全部写进主函数里,导致错误百出,嘤!
接下来是在同学的手把手指导下写出来的代码。很漂亮辽。
package heart;import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;import javax.swing.JFrame;public class heart extends JFrame{/*** */private static final long serialVersionUID = -7128362663435137794L;public void draw(Graphics g){ for(int i=0;i<=180;i++){for(int j=0;j<=180;j++){double r=Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*20;double x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+300;double y=-r*Math.sin(Math.PI/45*j)+200; Color c=Color.getHSBColor(i*j/8100.0f, 0.9999f,0.9999f); g.setColor(c); g.drawOval((int)x, (int)y, 1,1); try{ Thread.sleep(1); }catch(Exception e){} } } }public void showUI(){this.setSize(new Dimension(1200,1200));this.setVisible(true);Graphics g = this.getGraphics();draw(g);}public static void main(String[] args) {heart h = new heart();h.showUI();}}
下面是我的小心心
利用JAVA画一颗小心心相关推荐
- python画一颗小心心
python画一颗心心 主要使用scatter函数画 cmap="Reds"表示画一个炽热的心心 这个参数还有"autumn","cool" ...
- 如何用java画一颗圣诞树
如何用java画一颗圣诞树 哈喽 ,今天教各位一个有趣的代码,利用for循环简单地画一个圣诞树. 代码如下: ```java public class Dan {public static void ...
- python画一颗心_利用python画一颗心的方法示例
前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...
- 如何用python画心形_利用python画一颗心的方法示例
前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...
- 利用Java制作背单词小应用
该小应用是本人学习Java前期制作的程序,可能还有着一些Bug没有修复,敬请谅解!该应用用到了图形化界面.I/O流本地磁盘读取/写入数据.键盘事件.焦点事件.监听事件等知识.该应用拥有功能: file ...
- 利用java编写剪刀石头布的小游戏
import java.util.Scanner; import java.util.Random; public class Demo2Game {public static void main(S ...
- 利用Python画一颗神奇的树!
turtle是一只神奇的小海龟,可以画出大千世界.而turtle加入了python大家族,像是如龟得水,变得更加受欢迎. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...
- 利用Java语言制作关机小程序
本程序用到了Java的图形化界面,运行后弹出一个方框窗口,文本框下方是提示,看清提示后可以输入英文大/小写答案,若输入出错,则在60秒后关机,若在此期间,改窗口丢失焦点,则弹出提示框,并在15秒后关机 ...
- java代码怎么打印松树_用JAVA画一颗树(Applet)
1.松树: import java.awt.*; import java.applet.*; public class Tree extends Applet { public void paint( ...
最新文章
- 经典C语言程序100例之八一
- python样本不均衡_使用Python中的smote处理正负样本之间的不平衡,python,实现,失衡,问题...
- 整合.NET WebAPI和 Vuejs——在.NET单体应用中使用 Vuejs 和 ElementUI
- (转)递归转非递归的思路和例子
- JAVA微信开源项目(jeewx)百度BAE 部署文档
- jquery字符串序列化方法总结
- Keras-Sequential模型(1)
- python中的进程池:multiprocessing.Pool()
- 并发编程之——写锁源码分析
- Android:使用SharedPreferences进行数据存储
- Selenium WebDriver-通过键盘事件操作浏览器
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-7.接口配置文件自动映射到属性和实体类配置...
- paip.程序设计--扫号器跑号器结果分类设计
- IOS逆向-静态分析
- win7计算器功能详解 win10参考
- 清理注册表 php,如何彻底清理注册表?小编教你清理注册表操作方法
- win10计算机设备感叹号,Win10资源管理器无法显示iphone,设备管理器中存在黄色感叹号。...
- 国内免费版ChatGPT和AI绘画
- 「MOSS - 16」MOSS队:Scrum Meeting 7
- 麻省理工MIT大神解说数学体系;2012年计算机博士港中大林达华简历(公号回复“MIT林达华”下载彩标PDF论文)
热门文章
- 滤波器设计中的频率归一化问题
- 包装实训总结报告_包装设计实训心得体会
- 我的电脑,虽然你很慢,但是我很爱你啊!
- linux系统安装vivado软件,vivado 2017下载 Xilinx Vivado HLx 2017.2 在线安装包 官方安装版(附许可证) 64位 Linux版 下载-脚本之家...
- nginx-rtmp-hls 模块---大疆mavic推流hlx无法播放问题
- java字符串用0X0F分割_微信公众帐号开发教程第4篇-----开发模式启用及接口配置Java...
- 网线传输速度测试_如何测验网线的好坏,传输速度等
- “火星人”马斯克推论:世界很大可能性是被编程的,上帝可能是个程序员!
- 常用的http响应状态码大全
- 永远不要去依赖别人_经典语录:不要轻易去依赖一个人,它会成为你的习惯