特别的520,送给特别的你们,还不来看看?

我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许match命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了喜欢你这个方法... 当我义无返顾的把自己作为参数传进这个方法时... 我才发现喜欢上你是一个死循环... 它不停的返回对你的思念压入我心里的堆栈... 在这无尽的黑夜中... 我的内存里已经再也装不下别人... 我不停的向系统申请空间... 但却捕获一个异常---我喜欢的人不喜欢我... 为了解决这个异常... 我愿意虚拟出最后一点内存... 把所有我能实现的方法地址压入堆栈... 并且在栈尾压入最后一个方法---将字符串"我喜欢你,你喜欢我吗?"传递给你... 如果返回值为真--我将用尽一生去爱你...

小诗已经献上了,接下来,当然要发挥我们的才能了,还不来看看?

我们需要创建一个心形图案,按照心形图案的位置和长度,对所创建的字符串进行截断并在所需的位置上输出,最终能呈现在屏幕上满满的爱心。

 1import java.awt.*;  
 2import javax.swing.JFrame;  
 3public class ILOVEYOU extends JFrame {  
 4    //获取屏幕大小  
 5    private static final int WIDTH = 500;  
 6    private static final int HEIGHT = 500;     
 7    private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;  
 8    private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;  
 9    public ILOVEYOU(){  
10        super("I love you");//设置窗口标题  
11        this.setBackground(Color.BLACK);  
12        this.setLocation((WINDOW_WIDTH-WIDTH)/2,(WINDOW_HEIGHT-HEIGHT)/2);//设置窗口位置  
13        this.setSize(WIDTH, HEIGHT);//设置窗口大小  
14        this.setLayout(getLayout());//设置窗口布局  
15        this.setVisible(true);//设置窗口可见  
16        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置窗口默认关闭方式  
17    }  
18    public void paint(Graphics g){  
19        double x,y,r;//横纵坐标以及半径  
20        Image image = this.createImage(WIDTH, HEIGHT);  
21        Graphics pic = image.getGraphics();  
22        for (int i = -2; i < 90; i++) {  
23            for (int j = -2; j < 90; j++) {  
24                r=Math.PI/45+Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*18;  
25                x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+WIDTH/2;  
26                y=-r*Math.sin(Math.PI/45*j)+HEIGHT/3;  
27                pic.setColor(Color.MAGENTA);  
28                pic.fillOval((int)x, (int)y, 2, 2);  
29            }  
30            g.drawImage(image,0,0,this);//生成图片  
31        }  
32    }  
33    public static void main(String[] args) {  
34        new ILOVEYOU();  
35    }  
36}  

运行效果如下:

这下是不是满满的自信,有没有?

好了,小编也只能帮你到这里了,接下来就要靠小伙伴的本领了,哈哈。

最后,不管小伙伴是单身,还是已有那个她,思海同学,在今天这个幸福的日子里,都祝大家,不管是今天,还是明天,希望小伙伴们的每一天的生活都能快快乐乐的。

原文发布于微信公众号 - 好好学java(SIHAIloveJAVA)

原文发表时间:2018-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我的博客

JQuery中DOM操作示例代码

Jquery的DOM操作 1、插入节点代码示例: <p title=”选择你喜欢的水果”>你最喜欢的水果是?</p> <ul> <li title=”苹果”>苹...

2694
来自专栏hrscy

Unity - 在鼠标点击的位置放置对象

你可以使用函数实例化多个给定的游戏对象或预制对象。 Instantiate (Object Target, object’s position, object...

1982
来自专栏腾讯NEXT学位

这些 CSS 命名规范将省下你大把调试时间(文末有福利)

38810
来自专栏GopherCoder

『Go 内置库第一季:time』

时间的操作在项目中使用的非常频繁,比如说数据库中,经常有时间的操作,比如根据时间进行划分,统计之类的功能。

1113
来自专栏我的博客

Jquery学习第一天

1、jQuery优点 轻量级,强大的选择器,出色的DOM操作,可靠的事件处理,完善的Ajax,不污染的顶级变量,出色的浏览器兼容,链式操作,隐式迭代,行为层和结...

3638
来自专栏前端新视界

CSS 特殊属性介绍之 pointer-events

首先看一下 MDN 上关于 pointer-events 的介绍: CSS属性 pointer-events 允许作者控制特定的图形元素在何时成为鼠标事件的 t...

18310
来自专栏web编程技术分享

js学习: 自定义类库 - miniQuery 2.0

3237
来自专栏Python学习心得

​ Python爬虫 --- 2.2 Scrapy 选择器的介绍

原文链接:https://www.fkomm.cn/article/2018/8/2/27.html

660
来自专栏偏前端工程师的驿站

CSS魔法堂:"那不是bug,是你不懂我!" by inline-block

前言  每当来个需要既要水平排版又要设置固定高宽时,我就会想起display:inline-block,还有为了支持IE5.5/6/7的hack*display...

2098
来自专栏吾爱乐享

php学习之html的标签属性(二)

1372

扫码关注云+社区