作者olys (查無暱稱)
看板java
標題Re: [問題] 在JPanel上面繪圖的完整準備工作?
時間Sat Nov 13 18:56:56 2010
※ 引述《olys (查無暱稱)》之銘言:
: 一直找不到一個完整的教學 =_=........
: 現在好像只有看到
: 1.要創一個新的class是繼承JPanel, 裡面到底要加什麼不知道,
: 然後宣告Panel時要用那個Class
: 2.要加一行 Graphics g = gPanel.getGraphics(); , 要放在哪裡不知道
: 然後以上備齊似乎就可以g.drawline等等亂畫了
: 可是完整的過程是怎麼樣啊 orz
我想我直接說我要作的功能好了,有可能是因為這樣所以不能用方法2
我現在宣告了一個JPanel,叫作gPanel
然後我宣告了一個滑鼠監聽器,現在已確定可以抓到滑鼠游標&點擊會紀錄座標
現在我想在mouseClicked裡新增一個功能,除了會紀錄點擊座標外,
還會在gPanel上畫上一個*
我試著將gPanel在宣告設成Visible,
也將Graphics g = gPanel.getGraphics(); 放在Class中當全堿變數,
但是我在mouseClicked裡加上一句g.drawString("*",e.getX(), e.getY());
再按下eclipse的run就會跑出錯誤 orz, 但是eclipse並抓不到這句有什麼問題
我試過把Graphics g = gPanel.getGraphics();放在MouseListener下,也會有同樣問題
我試過很多關鍵字,真的找不到完整的教學ˊˋ
如果有版友知道還請提供
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.82.26
→ kanandg1:沒有貼錯誤訊息.... 11/13 19:01
→ olys:我貼在上一篇了, 感謝你持續回答我的問題^^ 11/13 19:03
→ kanandg1:您的Voronoi.java第60行是g.drawString("*" ...嗎? 11/13 19:09
→ olys:是Graphics g = gPanel.getGraphics(); 寫在MouseListener下 11/13 19:11
→ kanandg1:嗯...想請您先確認gPanel是在畫面上 11/13 19:17
→ kanandg1:上一篇的錯誤訊息說60行有null....所以gPanel是null? 11/13 19:21
結果我突然發現原因根本不在這 orz
我滑鼠監聽的呼叫是從參考書的範例檔Copy過來改的
當我改成用eclipse自動產生的滑鼠監聽,一切問題都很神奇地自動解決了(炸裂)
感謝kanandg1不厭其煩回答我的問題 Q口Q
※ 編輯: olys 來自: 114.47.82.26 (11/13 19:41)
推 chchwy:可以的話 盡量不要copy 因為魔鬼都藏在細節裡.... 11/14 03:39
→ olys:( ̄□ ̄|||)a 我記起來了 11/14 11:43
→ x210150:ㄎㄎ~一切都是演X法作業惹的禍 11/14 16:55