生活随笔
收集整理的這篇文章主要介紹了
                                
利用JAVA画一颗小心心
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
 
                                
                            
                            
                            首先,這顆心是數(shù)學(xué)家畫的,不是我。原理很復(fù)雜,大致原理就是迭代。
 畫這顆心的代碼已經(jīng)給出來了
 
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){}        }  } }
 
但是,我卡在了怎么調(diào)用這個(gè)函數(shù)這里。
 我本來是準(zhǔn)備在主函數(shù)里寫一個(gè)new一個(gè)heart對(duì)象,然后想C語言一樣用這個(gè)對(duì)象調(diào)用draw方法。
 然而這個(gè)方法需要傳入Graphics g參數(shù)。
 當(dāng)我new一個(gè)Graphics對(duì)象時(shí),編譯器報(bào)錯(cuò)說,Graphics不能實(shí)例化。
 um…然后我就直接Graphics g;
 然后傳參之后,就報(bào)錯(cuò)“空指針錯(cuò)誤”。涼。。。。。
 
最后,再問了同學(xué)之后,發(fā)現(xiàn)自己的代碼書寫習(xí)慣十分不好,或者說是還沒有熟悉規(guī)則。
 
1、首先是對(duì)Graphics的了解不夠。這是一個(gè)畫筆,它是有paint()屬性的。也就是說,它可以理解為是一個(gè)畫筆。畫筆一定是需要有畫布才能作畫的。因此必須有JFrame()對(duì)象才能在上面作畫,這就是它的畫布。
 2、然后是對(duì)編程的耦合度理解并不高。老是習(xí)慣把所有的代碼全部寫進(jìn)主函數(shù)里,導(dǎo)致錯(cuò)誤百出,嚶!
 接下來是在同學(xué)的手把手指導(dǎo)下寫出來的代碼。很漂亮遼。
 
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();}} 
下面是我的小心心
                            總結(jié)
                            
                                以上是生活随笔為你收集整理的利用JAVA画一颗小心心的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。