Re: [問題] 覆蓋的問題
※ 引述《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
06/14 08:38, 1F
推
06/14 08:44, , 2F
06/14 08:44, 2F
討論串 (同標題文章)