Re: [問題] 覆蓋的問題

看板java作者 (骨頭)時間17年前 (2008/06/14 08:17), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《Nadleeh004 (螃蟹→寄居蟹)》之銘言: : 小的我不清楚這是為什麼 : 就是我在JPanel裡有一個paint function : 其中有一個drawImage : 不知為何... : 如果我把drawImage這行註解掉的話 : 其執行結果是 : http://myweb.ncku.edu.tw/~h3495136/board2.JPG
: 但如果不註解的話卻是... : http://myweb.ncku.edu.tw/~h3495136/board1.JPG
: 這是為什麼 : 我在另外一個繼承JFrame的class裡 : 明明是最後一個add此JPanel : 不是應該會被放在最下面嗎? : 就算不是... : 把此JPanel移到最前面... : 結果還是一樣... : 這應該是drawImage的問題吧? 你用的是paint(Graphics g),paint(Graphics g) , 是每次repaint的時候,無差別呼叫來複寫畫面。 =.= 依你的設計觀念, 應該是放在paintComponent(Graphics g),會比較好。 paintComponent() 就把自己當一個元件來繪圖, 目的就是繪出這個元件。 paint則是把整個畫面當作一個畫板, 在上面畫出想要的東西。 paintComponent() 我知道是用 iterator的方式依順序call,paint我不太清楚... 記得以前有研究過,不過忘了=.= 我只記得後來要用paint我就直接用JFrame而不用JComponent, 要做JComponent就用paintComponent()。 打到這裡突然想到,問題應該不是出在上面說的部份, 依據承載關係的話,paint只要是在JFrame上, 而且大小設好的話,不管怎麼做都會出現這狀況吧。 =.= 重點不是先add後add,而是你希望他顯示在JPanel上面的, 就要add在JPanel上啊,他又不是說誰先加就誰贏。orz -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.27.68 ※ 編輯: TonyQ 來自: 220.134.27.68 (06/14 08:23)

06/14 08:38, , 1F
(~跪)感謝大大!!! 雖然還不是很懂...看try try看
06/14 08:38, 1F

06/14 08:44, , 2F
但(打錯字)
06/14 08:44, 2F
文章代碼(AID): #18Kmu17r (java)
討論串 (同標題文章)
文章代碼(AID): #18Kmu17r (java)