作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题]关於重画的相关问题(小精灵小程式)
时间Tue Mar 5 12:47:29 2013
先写在前面,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
1F:推 bleed1979:tkcn能做的回答,你同样也能做,不是吗? 03/05 17:38
2F:→ bleed1979:不过能被你点名,个人觉得蛮荣幸的。 03/05 17:39
3F:推 pugboy:好的,如果有冒犯之处请见谅,下次我会对自己code[负责] 03/05 20:39