0
我在面板上繪製一些東西,比用戶按下按鈕時想移動它或在其上繪製東西。在這個例子中,按鈕被稱爲低,做的情況下,當它被按下會是這樣的:如何在主函數之外使用Graphics2D?
private static void lowerIt(){
g2d.setColor(Color.black);
g2d.fillRect(284, 436, 22, 42);
g2d.setColor(Color.black);
g2d.fillRect(284, 537, 22, 42);
g2d.setColor(Color.blue);
g2d.fillRect(284, 437, 22, 40);
g2d.setColor(Color.BLUE);
g2d.fillRect(284, 538, 22, 40);
}
的問題是,該方法需要得到G2D,但如果我再這樣做像這:
private static void lowerIt(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.black);
g2d.fillRect(284, 436, 22, 42);
g2d.setColor(Color.black);
g2d.fillRect(284, 537, 22, 42);
g2d.setColor(Color.blue);
g2d.fillRect(284, 437, 22, 40);
g2d.setColor(Color.BLUE);
g2d.fillRect(284, 538, 22, 40);
}
我得到nullpointerexception錯誤和其他一些。我該怎麼做 ?
我試圖做一些事情,但它不工作,同樣的錯誤全碼。這裏:http://piratepad.net/FbbEn2cGfm lower它被稱爲gSpusti。 – Skynet
*「整個代碼在這裏:」*爲了更好的幫助更快,發佈一個[MCVE]或[短,自包含,正確的例子](http:///www.sscce.org/)並將其作爲[對問題的編輯]發佈(http://stackoverflow.com/posts/32652464/edit).. –
我已添加對答案的更改以向您顯示確切地說,你沒有正確地傳遞圖形對象,我在屏幕右側看到兩輛紅色的小卡車,所以我g它運作。 – Ewald