我想用JPanel画图,但现在不能继承JPanel写,我用
Graphics g=jpanel.getGraphics();
g.drawLine(11,12,200,400);但发现这样画不出来不知道怎么回事 请大家帮个忙 谢谢
Graphics g=jpanel.getGraphics();
g.drawLine(11,12,200,400);但发现这样画不出来不知道怎么回事 请大家帮个忙 谢谢
解决方案 »
- 关于类Runtime中的exec(String[] cmdarray)?
- 关于comparable接口的说法是否正确,大家看下。。
- gb2312编码问题
- 需要<标识符>?
- 想请教一个输入输出流的问题
- 怎样做到在小程序中 做到输入的数字 是纵排列的 改为是加“《《”的 行排列 下面有个帮忙看看
- SQL SERVER 乱码问题,急!!!
- swt 图片显示问题
- 有关于classpath的疑问
- 学JAVA还是C++那?我学了JAVA有一段时间了!对他的理解是初级的,我要不要学C++
- 如何可以用java实现后台抓包,然后提取想要的包?
- 有没有人用httpclient登陆过google,我试了半天都得不到cookies,大家帮我看看。
楼主【shynnuaa】截止到2008-07-24 21:10:37的历史汇总数据(不包括此帖):
发帖的总数量:17 发帖的总分数:346 每贴平均分数:20
回帖的总数量:17 得分贴总数量:3 回帖的得分率:17%
结贴的总数量:12 结贴的总分数:246
无满意结贴数:1 无满意结贴分:20
未结的帖子数:5 未结的总分数:100
结贴的百分比:70.59 % 结分的百分比:71.10 %
无满意结贴率:8.33 % 无满意结分率:8.13 %
楼主加油
craky,我有一事不明,想请教下
如果我在程序后面加
Graphics g=jpanel.getGraphics();
g.drawLine(11,12,200,400);
这句也是闪一下就消失,但如果在之前sleep(100)的话
线就不会消失,能解释下这是为什么吗?
在MyPane中声明一个List或Map用来存放动态生成的形状
在paintComponents中遍历上面声明的List或Map,逐个画出来
动态修改、添加、删除形状就是对List或Map的修改,弄完之后MyPane 再repaint一下就行了
首先得说一下,通过jpanel.getGraphics()获取的g画出来的东东在组件重绘后就会消失跟踪一下paint(Graphics g)方法就清楚了
在setVisible(true);之后,Swing会用另一个线程再去调用paint(Graphics g)方法,这时你之前画的东东当然没了但是在sleep(100)后再画,则setVisible(true);之后再paint(Graphics g)的那个请求早已执行,也就是说你画了东东之后在界面不消失不改变大小的情况下是不会再重绘了,所以会一直留在上面