Re: [問題]關於重畫的相關問題(小精靈小程式)
先寫在前面,pugboy 柔性警告一次
一直以來都看不出來你有對你發問的內容 or 撰寫的程式碼「負責」
也就是說,這只不過帳面上避免掉作業文條款
骨子裡還是不求甚解的作業文
(再次註明,作業文只是個代名詞,你是不是學生不重要)
往後如果 pugboy 還是發同樣不負責的文章
將直接鎖文、或是更重的懲罰
※ 引述《pugboy ()》之銘言:
: public void paint(Graphics g) {
: Graphics2D g2 = (Graphics2D) g;
: for(int i = 0; i<= 360; i++){ //重覆360次
: repaint();
: g2.setColor(new Color(1.0f, 0.0f, 1.0f));
: g2.fill(new Arc2D.Double(100, 100, 80, 80, 30, 300, Arc2D.PIE));
: //小精靈開口圖
: repaint();
: try{ //Delay段
: Thread.sleep(1000);
: }catch(InterruptedException ex){}
: g2.fill(new Arc2D.Double(100, 100, 80, 80, 10, 340, Arc2D.PIE));
: //小精靈閉口圖
: repaint();
: }
: }
: }
: 推 PsMonkey:你先解釋一下 repaint() 跟 paint() 的關係吧 03/03 17:36
: repaint()是重要概念,它是在圖形線程後追加一段重繪操作,是安全的!是系統真正調
: 用的重繪!
: paint()是提供給用戶編程的,往往聲明在接口之中,然後用戶實現該接口,以擁有重繪
: 的功能。
: ※ 編輯: pugboy 來自: 140.115.156.203 (03/04 15:22)
: → tkcn:repaint 會間接的呼叫 paint,所以你一邊 repaint 一邊 draw? 03/04 18:08
: → PsMonkey:感謝樓上解答為甚麼我鎖文 XD 03/04 19:17
: → pugboy:一邊repaint一邊paint是什麼意思阿? 可以煩請tkcn大大 03/05 01:32
: → pugboy:解釋一下嗎 謝謝 03/05 01:35
: → tkcn:顯然你對於自己先前的解釋也不夠了解,我想你需要 tutorial先 03/05 01:50
: 推 bleed1979:個人認為用問句回答別人問題是不妥的。 03/04 21:3
: 推 snowlike:所以蘇格拉底錯了?那得看存的是甚麼心,字裡行間很難吧. 03/05 01:0
我不知道看到 pugboy 後頭的推文
bleed1979 還會覺得妥 or 不妥
基本上 tkcn 已經幫我補刀完了,不過我想畫蛇添足一下。
看到原 po 程式碼這樣寫,很理所當然地會懷疑「你為甚麼會這樣寫?」
雖然已經 10 年沒寫過 Swing(上的畫圖)
但也還記得 paint() 跟 repaint() 之間是有一腿的
在 paint() 裡頭呼叫 repaint(),這不是很奇怪的事情嗎?
那麼,到底是原 po 在 Swing 繪圖機制的了解上出了什麼問題
所以才導致他寫出這樣的程式碼?
那個才是真正的問題所在
不然我去 try 出一段結果正常的程式碼
除了可以幫助他結案,其他一點幫助也沒有
結果呢? 丟了兩段不知道是哪個對岸同好寫的奇怪說明上來
這樣算有回答到我的問題嗎?
這樣能解釋為甚麼他的程式碼為甚麼會這樣寫嗎?
最後的推文更是說明了一切.......
要怎麼看待我寫出來的東西,當然是個人的自由
你要把我當人只愛酸人的人、或是把我的「問題」當成是解答的起點
就看你覺得我是怎樣的人,還有你自己是怎樣的人
=========
其實我是借題發揮啦... 最近寫文件寫的很不順 [毆飛]
--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.202.140
推
03/05 17:38, , 1F
03/05 17:38, 1F
→
03/05 17:39, , 2F
03/05 17:39, 2F
推
03/05 20:39, , 3F
03/05 20:39, 3F