首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

绘制图形有关问题

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

绘制图形问题
每次我想要在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")

热点排行