标签:java int 45 HEIGHT 神器 WIDTH 七夕 PI Math
首先我们需要创建一个心形图案,然后按照心形图案的位置和长度,对所创建的字符串进行截断并在所需的位置上输出,最终能呈现在屏幕上满满的爱心。
实现代码:
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。