Java實(shí)現(xiàn)表白小程序
今天閑來無事,教大家一個哄妹子的小case。我們需要創(chuàng)建一個心形圖案,按照心形圖案的位置和長度,對所創(chuàng)建的字符串進(jìn)行截?cái)嗖⒃谒璧奈恢蒙陷敵?,最終能呈現(xiàn)在屏幕上滿滿的愛心。廢話不多說,直接上源碼看效果 ~
package ddd;
import java.awt.*;
import javax.swing.JFrame;
public class Cardioid extends JFrame {
//獲取屏幕大小
private static final int WIDTH = 500;
private static final int HEIGHT = 500;
private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
public Cardioid(){
super("I love you");//設(shè)置窗口標(biāo)題
this.setBackground(Color.BLACK);
this.setLocation((WINDOW_WIDTH-WIDTH)/2,(WINDOW_HEIGHT-HEIGHT)/2);//設(shè)置窗口位置
this.setSize(WIDTH, HEIGHT);//設(shè)置窗口大小
this.setLayout(getLayout());//設(shè)置窗口布局
this.setVisible(true);//設(shè)置窗口可見
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//設(shè)置窗口默認(rèn)關(guān)閉方式
}
public void paint(Graphics g){
double x,y,r;//橫縱坐標(biāo)以及半徑
Image image = this.createImage(WIDTH, HEIGHT);
Graphics pic = image.getGraphics();
for (int i = -2; i < 90; i++) {
for (int j = -2; j < 90; 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/3;
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();
}
}
實(shí)現(xiàn)效果如下所示:

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
微服務(wù)中使用Maven BOM來管理你的版本依賴詳解
這篇文章主要介紹了微服務(wù)中使用Maven BOM來管理你的版本依賴,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Java基礎(chǔ)知識精通塊作用域與條件及switch語句
塊(block,即復(fù)合語句)是指由若干條 Java 語句組成的語句,并由一對大括號括起來。塊確定了變量的作用域。一個塊可以嵌套在另一個塊中;條件語句、switch語句是我們常見會用到的結(jié)構(gòu),感興趣的朋友來看看吧2022-04-04
Java字符串拼接+和StringBuilder的比較與選擇
Java 提供了兩種主要的方式:使用 "+" 運(yùn)算符和使用 StringBuilder 類,本文主要介紹了Java字符串拼接+和StringBuilder的比較與選擇,感興趣的可以了解一下2023-10-10
springboot中的springSession的存儲和獲取實(shí)現(xiàn)
這篇文章主要介紹了springboot中的springSession的存儲和獲取實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

