我已经扩展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