读书人

绘制图形有关问题

发布时间: 2013-01-17 10:28:55 作者: rapoo

绘制图形问题
每次我想要在Swing中绘制图形的时候,我都要继承JComponent类,然后覆写这个方法

public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D) g;

Core JAVA写道
引用
paintCompinent方法会自动地获得一个Graphics2D的对象,我们只需要进行一次类型转化就可以了

但是我在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")

读书人网 >J2SE开发

热点推荐