Re: [問題] 在JPanel上面繪圖的完整準備工作?

看板java作者 (查無暱稱)時間15年前 (2010/11/13 18:56), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串2/3 (看更多)
※ 引述《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

11/13 19:01, , 1F
沒有貼錯誤訊息....
11/13 19:01, 1F

11/13 19:03, , 2F
我貼在上一篇了, 感謝你持續回答我的問題^^
11/13 19:03, 2F

11/13 19:09, , 3F
您的Voronoi.java第60行是g.drawString("*" ...嗎?
11/13 19:09, 3F

11/13 19:11, , 4F
是Graphics g = gPanel.getGraphics(); 寫在MouseListener下
11/13 19:11, 4F

11/13 19:17, , 5F
嗯...想請您先確認gPanel是在畫面上
11/13 19:17, 5F

11/13 19:21, , 6F
上一篇的錯誤訊息說60行有null....所以gPanel是null?
11/13 19:21, 6F
結果我突然發現原因根本不在這 orz 我滑鼠監聽的呼叫是從參考書的範例檔Copy過來改的 當我改成用eclipse自動產生的滑鼠監聽,一切問題都很神奇地自動解決了(炸裂) 感謝kanandg1不厭其煩回答我的問題 Q口Q ※ 編輯: olys 來自: 114.47.82.26 (11/13 19:41)

11/14 03:39, , 7F
可以的話 盡量不要copy 因為魔鬼都藏在細節裡....
11/14 03:39, 7F

11/14 11:43, , 8F
( ̄□ ̄|||)a 我記起來了
11/14 11:43, 8F

11/14 16:55, , 9F
ㄎㄎ~一切都是演X法作業惹的禍
11/14 16:55, 9F
文章代碼(AID): #1CtcxxLE (java)
討論串 (同標題文章)
文章代碼(AID): #1CtcxxLE (java)