JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 請問 Graphics 與 畫面重繪 問題
alandai





發文: 4
積分: 0
於 2005-10-24 12:51 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
大家好
我是一個初學者
不知道大家在繪圖時是不是都是使用 paint(Graphics g)來取得 Graphics
我從「JAVA 2D/3D 繪圖程式實例應用」這本書 學到
一開始就宣告 Graphics 為全域變數
透過 getGraphics() 來取得Graphics
接下來需要繪圖 只要直接使用 g.drawLine 等 method 就可以了
可是 這樣一來...當拖拉視窗時 畫面自動重繪時
就沒辦法連我畫的圖一起重繪
好像...除了用 paintComponent() 之外 沒有別的辦法可以重繪
可是...我想把畫不同圖形的 method 存成另一自建類別的 method
讓我在主程式呼叫時 可以叫那個 就畫出那個圖

可是我看了半天 不知道要怎麼改

請問各位高手 有什麼方法可以改良嗎
這問題困擾我很久了 麻煩大家幫忙....謝謝


alandai edited on 2005-10-24 13:28
reply to postreply to post
作者 Re:請問 Graphics 與 畫面重繪 問題 [Re:alandai]
atticcat

There is no cookie



發文: 702
積分: 4
於 2005-10-24 22:08 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
你可以使用double buffering的技巧.
我很久沒玩玩了,不過大概的概念是這樣.
1.建立一張圖,取得其graphic.
2.針對這個graphic作畫.
3.改寫canvas的paint method.把你的圖畫上去.
4.當你的畫新圖時,記得呼叫canvas的repaint.

不知道這是不是你想要的.


reply to postreply to post
作者 Re:請問 Graphics 與 畫面重繪 問題 [Re:alandai]
alandai





發文: 4
積分: 0
於 2005-10-25 18:01 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
不好意思 我修正我的問題
我是一個主程式 要「隨選擇」畫出5種不同的圖形

目前 我是另外寫一個 Pen 類別
該類別使用getGraphics()使Graphics 為全域變數
我再把畫線..畫圓...等 各寫成一個 method
我在主程式中想畫線 就呼叫 Pen 類別中的 畫線 method
我在主程式中想畫圓 就呼叫 Pen 類別中的 畫圓 method
可是這樣做就會有無法重繪問題

現在 我想用改寫 paintComponent()的方式來畫圖
可是 我又想像之前一樣作一個 Pen 的類別
讓以後的程式可以繼續使用
請問 我除了把所有畫圖的動作都寫在「主程式」的 paintComponent()中之外
還有別的辦法嗎?
我主要是希望能寫出一個以後可以一直用的類別來啦
麻煩大家提供一點意見...謝謝!!

抱歉 double buffering 我完全不懂耶
可以說的簡單一點嗎 不好意思


reply to postreply to post
» JWorld@TW »  Java 新手區

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8