Topic: JPanel类的getGraphics方法使用问题 |
Print this page |
1.JPanel类的getGraphics方法使用问题 | Copy to clipboard |
Posted by: macroxmu Posted on: 2005-05-15 19:07 为了通过调用JPanel中的函数实现在JPanel中已绘制的背景图形上绘制线条, 因为线条是根据外部条件绘制的,不可能写在paint函数中。 部分代码如下: class pan extends JPanel{ Image pic; public void paint(Graphics g){ pic=new ImageIcon("icons.jpg").getImage();//绘制背景图案。 g.drawImage(pic,0,0,this); } public void paintline(int ax,int ay,int bx,int by){//在背景上绘制线条 Graphics gr=this.getGraphics(); //取得JPanel的Graphics ~~~~~~~~~~~~~~~~~~~~下面抛出空指针异常 gr.setColor(Color.white); //绘制线条 gr.drawLine(ax,ay,bx,by); } } 我查了文档,JComponent 就已经实现了getGraphics方法。但是却无法返回Graphics对象? 是什么原因,还有没有其他的实现方法? |
2.Re:JPanel类的getGraphics方法使用问题 [Re: macroxmu] | Copy to clipboard |
Posted by: longwang Posted on: 2005-05-20 14:51 JPanel是轻量级组件,必须有重量级父容器,才能getGraphics。 将它Add入一个父容器在调用该方法。 另外为什么不用paint方法传入的Graphics? |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |