JWorld@TW
the best professional Java site in Taiwan
註冊
|
登入
|
全文檢索
|
排行榜
»
JWorld@TW
»
Java 新手區
列印話題
寄給朋友
訂閱主題
本主題所含的標籤
無標籤
作者
請問 Graphics 與 畫面重繪 問題
alandai
發文:
4
積分:
0
於 2005-10-24 12:51
大家好
我是一個初學者
不知道大家在繪圖時是不是都是使用 paint(Graphics g)來取得 Graphics
我從「JAVA 2D/3D 繪圖程式實例應用」這本書 學到
一開始就宣告 Graphics 為全域變數
透過 getGraphics() 來取得Graphics
接下來需要繪圖 只要直接使用 g.drawLine 等 method 就可以了
可是 這樣一來...當拖拉視窗時 畫面自動重繪時
就沒辦法連我畫的圖一起重繪
好像...除了用 paintComponent() 之外 沒有別的辦法可以重繪
可是...
我想把畫不同圖形的 method 存成另一自建類別的 method
讓我在主程式呼叫時 可以叫那個 就畫出那個圖
可是我看了半天 不知道要怎麼改
請問各位高手 有什麼方法可以改良嗎
這問題困擾我很久了 麻煩大家幫忙....謝謝
alandai edited on 2005-10-24 13:28
作者
Re:請問 Graphics 與 畫面重繪 問題 [Re:alandai]
atticcat
There is no cookie
發文:
702
積分:
4
於 2005-10-24 22:08
你可以使用double buffering的技巧.
我很久沒玩玩了,不過大概的概念是這樣.
1.建立一張圖,取得其graphic.
2.針對這個graphic作畫.
3.改寫canvas的paint method.把你的圖畫上去.
4.當你的畫新圖時,記得呼叫canvas的repaint.
不知道這是不是你想要的.
作者
Re:請問 Graphics 與 畫面重繪 問題 [Re:alandai]
alandai
發文:
4
積分:
0
於 2005-10-25 18:01
不好意思 我修正我的問題
我是一個主程式 要「隨選擇」畫出5種不同的圖形
目前 我是另外寫一個 Pen 類別
該類別使用getGraphics()使Graphics 為全域變數
我再把畫線..畫圓...等 各寫成一個 method
我在主程式中想畫線 就呼叫 Pen 類別中的 畫線 method
我在主程式中想畫圓 就呼叫 Pen 類別中的 畫圓 method
可是這樣做就會有無法重繪問題
現在 我想用改寫 paintComponent()的方式來畫圖
可是 我又想像之前一樣作一個 Pen 的類別
讓以後的程式可以繼續使用
請問 我除了把所有畫圖的動作都寫在「主程式」的 paintComponent()中之外
還有別的辦法嗎?
我主要是希望能寫出一個以後可以一直用的類別來啦
麻煩大家提供一點意見...謝謝!!
抱歉 double buffering 我完全不懂耶
可以說的簡單一點嗎 不好意思
»
JWorld@TW
»
Java 新手區
已讀文章
新的文章
被刪除的文章
JWorld@TW
本站商標資訊
Powered by
Powerful JuteForum
® Version Jute 1.5.8