作者morris282 (morris)
看板java
標題Re: [問題] JPanel顯示Graphics的問題
時間Sun May 25 04:20:06 2014
※ 引述《cicada930614 (喜加達)》之銘言:
: 各位好,初次在JAVA版發文
: 如有疏漏煩請指正,感謝
: 小弟最近在練習寫2048,我將整個遊戲切成
: Game:遊戲主體,主要判斷遊戲開始/結束和輸贏判定
: gameBoard:遊戲盤
: Tile:字板
: https://github.com/cicadandrew/JAVAfinal2048
: github
: 小弟現在遇到的問題在於,GameBoard的圖像無法顯示
: 我嘗試過將gameBoard extends JPanel並進一步覆寫paint
你新建一個JFrame叫做window,然後加入一個繼承自JPanel類別的game,
那你的GameBoard這個類別到底是什麼用途?
是專門負責處理繪圖功能?還是他也算是一個元件?
為什麼你把GameBoard類別繼承JPanel然後加入game之後就看得到圖,
因為這時候GameBoard就是一個元件了,裡面的操作應該就是畫在這個新元件上。
既然你放棄把gameBoard當作一個JPanel,那這個時候圖應該要畫在哪個元件上?
: 結果圖出現,但位置卻被強制置中
: 而將Tile和GameBoard的畫圖一併寫入Game之中,但我不想讓Game太肥
: 而在creatImage中置入System.out.println("check")
: 我發現該段有被執行,但圖卻不如預期出現
: 請問是我對JFrame/ JPanel 和畫圖的過程中有什麼錯誤的使用嗎?
: 我自認邏輯上沒問題,但無法解決這問題
: 謝謝各位高手解惑,感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.158.164
※ 文章網址: http://www.ptt.cc/bbs/java/M.1400962809.A.73F.html
※ 編輯: morris282 (114.40.158.164), 05/25/2014 05:32:34
→ sbrhsieh:他把 JPanel 當作 Canvas 來使用。 05/25 13:33
→ sbrhsieh:以高頻率在 Canvas 上繪出遊戲(world)的狀態。 05/25 14:05
→ sbrhsieh:這種做法稱 active rendering 05/25 14:09