编程语言
首页 > 编程语言> > java实现七夕表白神器

java实现七夕表白神器

作者:互联网

 

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

实现代码:

 1 package ddd;
 2 
 3   
 4 
 5 import java.awt.*;
 6 
 7   
 8 
 9 import javax.swing.JFrame;
10 
11   
12 
13 public class Cardioid extends JFrame {
14 
15   
16 
17     //获取屏幕大小
18 
19     private static final int WIDTH = 500;
20 
21     private static final int HEIGHT = 500;  
22 
23   
24 
25     private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
26 
27     private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
28 
29      
30 
31     public Cardioid(){
32 
33         super("I love you");//设置窗口标题
34 
35         this.setBackground(Color.BLACK);
36 
37         this.setLocation((WINDOW_WIDTH-WIDTH)/2,(WINDOW_HEIGHT-HEIGHT)/2);//设置窗口位置
38 
39         this.setSize(WIDTH, HEIGHT);//设置窗口大小
40 
41         this.setLayout(getLayout());//设置窗口布局
42 
43         this.setVisible(true);//设置窗口可见
44 
45         this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置窗口默认关闭方式
46 
47     }
48 
49      
50 
51     public void paint(Graphics g){
52 
53         double x,y,r;//横纵坐标以及半径
54 
55         Image image = this.createImage(WIDTH, HEIGHT);
56 
57         Graphics pic = image.getGraphics();
58 
59         for (int i = -2; i < 90; i++) {
60 
61             for (int j = -2; j < 90; j++) {
62 
63                 r=Math.PI/45+Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*18;
64 
65                 x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+WIDTH/2;
66 
67                 y=-r*Math.sin(Math.PI/45*j)+HEIGHT/3;
68 
69                 pic.setColor(Color.MAGENTA);
70 
71                 pic.fillOval((int)x, (int)y, 2, 2);
72 
73             }
74 
75             g.drawImage(image,0,0,this);//生成图片
76 
77         }
78 
79     }
80 
81      
82 
83      
84 
85     public static void main(String[] args) {
86 
87         new Cardioid();
88 
89     }
90 
91 }

实现效果:

 

 以上就是java实现表白神器的详细内容。(拼多多培训

标签:java,int,45,HEIGHT,神器,WIDTH,七夕,PI,Math
来源: https://www.cnblogs.com/qilunpdd/p/15084567.html