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

看板java作者 (查無暱稱)時間14年前 (2010/11/12 13:44), 編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/3 (看更多)
一直找不到一個完整的教學 =_=........ 現在好像只有看到 1.要創一個新的class是繼承JPanel, 裡面到底要加什麼不知道, 然後宣告Panel時要用那個Class 2.要加一行 Graphics g = gPanel.getGraphics(); , 要放在哪裡不知道 然後以上備齊似乎就可以g.drawline等等亂畫了 可是完整的過程是怎麼樣啊 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.169.131

11/12 22:42, , 1F
主要是取得該元件的Graphics,取得後就能畫了
11/12 22:42, 1F

11/12 22:45, , 2F
可以寫一個class繼承JPanel,並Override paint(Graphics)
11/12 22:45, 2F

11/12 22:47, , 3F
或是用getGraphics()來取得某個JPanel的Graphics
11/12 22:47, 3F

11/12 23:03, , 4F
所以我只要2的那一行出來以下就能任意畫畫了? 要放在哪裡呢?
11/12 23:03, 4F

11/12 23:17, , 5F
要放在能存取到gPanel的地方..此method是public的
11/12 23:17, 5F

11/12 23:19, , 6F
我比較建議第一種方法
11/12 23:19, 6F

11/12 23:21, , 7F
第一種方法請問能說詳細嗎? 剛剛試了方法2都會執行error
11/12 23:21, 7F

11/13 00:06, , 8F
如果此元件是不可視的話,getGraphics會return null
11/13 00:06, 8F

11/13 18:49, , 9F
意思是先用gPanel.setVisible(true)嗎? 還是error了orz
11/13 18:49, 9F

11/13 18:59, , 10F
有出現在畫面上嗎?如果不是這個問題就貼詳細的錯誤出來~
11/13 18:59, 10F
IWAV0052E Invocation Target Exception creating Voronoi.Voronoi java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.NullPointerException at Voronoi.Voronoi$2.<init>(Voronoi.java:60) at Voronoi.Voronoi.<init>(Voronoi.java:59) ... 13 more ※ 編輯: olys 來自: 114.47.82.26 (11/13 19:00)
文章代碼(AID): #1CtKIoLT (java)
文章代碼(AID): #1CtKIoLT (java)