Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计 » Swing  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 JPanel类的getGraphics方法使用问题
macroxmu





发贴: 16
积分: 0
于 2005-05-15 19:07 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
为了通过调用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对象?

是什么原因,还有没有其他的实现方法?




吐个泡....
作者 Re:JPanel类的getGraphics方法使用问题 [Re:macroxmu]
longwang





发贴: 71
积分: 1
于 2005-05-20 14:51 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
JPanel是轻量级组件,必须有重量级父容器,才能getGraphics。
将它Add入一个父容器在调用该方法。

另外为什么不用paint方法传入的Graphics?




吐个泡....

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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