绘制图形问题
每次我想要在Swing中绘制图形的时候,我都要继承JComponent类,然后覆写这个方法
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D) g;
Core JAVA写道
但是我在API文档中找不到类似的话,JDK给的源代码中也找不到哪里实现了Graphics2D的方法(Graphics2D是一个抽象类)
请问:Graphics里面的抽象方法在哪里实现。。还有你们是怎么看API文档的
求点播。。
------解决方案--------------------看java.awt.Graphics java.awt.Graphics2D 的文档,具体的实现是 sun.java2d.SunGraphics2D 类。
------解决方案--------------------另外,
paintComponent 方法在 JComponent 里定义的可见性是 protected,而不是 public,所以没有必要非得写 public
第一句最好调用 super.paintComponent(g);
这一句就可以让你的控件的 setOpaque, getOpaque, setBackground, getBackground 起作用。
再就是强转那一句最好加 @SuppressWarnings("unchecked")