每次我想要在Swing中绘制图形的时候,我都要继承JComponent类,然后覆写这个方法
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D) g;
Core JAVA写道
但是我在API文档中找不到类似的话,JDK给的源代码中也找不到哪里实现了Graphics2D的方法(Graphics2D是一个抽象类)
请问:Graphics里面的抽象方法在哪里实现。。还有你们是怎么看API文档的
求点播。。

解决方案 »

  1.   

    看java.awt.Graphics java.awt.Graphics2D 的文档,具体的实现是 sun.java2d.SunGraphics2D 类。
      

  2.   

    自从1.2提供Java 2D后,paintXXX 系列方法的 Graphics 参数实际上都是一个 Graphics2D的实例。
      

  3.   

    另外,paintComponent 方法在 JComponent 里定义的可见性是 protected,而不是 public,所以没有必要非得写 public第一句最好调用 super.paintComponent(g); 
    这一句就可以让你的控件的 setOpaque, getOpaque, setBackground, getBackground 起作用。再就是强转那一句最好加 @SuppressWarnings("unchecked")