我已經擴展JPanel類來繪製圖形。我已經得到的問題是,我需要爲了把它在多個方法......作爲一個例子一個全球性的圖形對象,這裏就是我想要做的事:Java:創建全局圖形對象
public class Graph extends JPanel {
private Graphics2D g2d;
public void paintComponent(Graphics g){
g2d = (Graphics2D)g;
}
public void drawGridLines(int hor, int vert){
g2d.someLogicToDrawMyGridLines(someparams);
}
}
這將返回一個空指針異常 - 所以我的問題是:我如何創建一個全局圖形對象?這種情況下的最佳做法是什麼?
爲什麼你需要一個全局圖形對象?爲什麼不能從'paintComponent'內部調用'drawGridLines',並將'Graphics'作爲參數傳遞? – khelwood 2014-10-28 11:51:40
這就是我目前所擁有的 - 但是如果我要從另一個類中調用drawGridlines(),這是一個很好的解決方案嗎? – 2014-10-28 11:52:30
最好將'Graphics'對象傳遞給你的幫助函數,而不是嘗試和存儲一個'Graphics'對象,這個對象可能被丟棄並且不再可用。 – khelwood 2014-10-28 11:53:41