JComponent的getGraphics有关问题

JComponent的getGraphics问题
请看这行代码,其中component是一个间接继承与JPanel的组件,请问为何调用这行代码得到的graphics会是null?

Graphics2D graphics2d = (Graphics2D) component.getGraphics();
------解决思路----------------------
这个原因是该组件当前不能被显示,即isDisplayable方法返回false。这指的是该组件没有被绑定到具体的系统资源上,因此无法获取它的图形设备环境(即graphics)。

想让它displayable的方法有:
1、把它加入一个displayable的容器内;
2、他当前所在的component被设置为displayable。能达到这一点的有JFrame.setVisible(true)和JFrame.pack()方法。