| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 639 人关注过本帖
标题:关于重画的问题
只看楼主 加入收藏
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
 问题点数:0 回复次数:3 
关于重画的问题

每次当图形添加后总是有问题,但重画后却又正常了。 程序在附件里,请大家下载后运行!

muqQ81pq.txt (2.75 KB) 关于重画的问题


2006-02-26 16:54
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你因为没有重画啊
添加以后的语句加一句repaint()不就可以了
如果还不可以的话,你可以用SwingUtilites.updateComponentTree(this);(拼写不一定正确,你可以查看SwingUtilities的说明)
一定可以的,

可惜不是你,陪我到最后
2006-02-26 16:59
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 
当我new一个对象时,构造函数就会自动调用repaint()啊,

学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2006-02-26 18:13
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

呵,谢谢提醒,我把事件处理改了一下,就OK了。
改动如下:
if (e.getSource().equals(btnSjx))
{
Jp[i].add(new SjxPanel(), b.CENTER);
Jp[i].repaint();
Jp[i].validate();
}
else if(e.getSource().equals(btnJx))
{
Jp[i].add(new JxPanel(), b.CENTER);
Jp[i].repaint();
Jp[i].validate();
}
else if(e.getSource().equals(btnTyx))
{
Jp[i].add(new TyxPanel(), b.CENTER);
Jp[i].repaint();
Jp[i].validate();
}
但是还有一点不明白,Jp[i].repaint();这一句调用重画函数,但是我没有写Jp[i]面板的protected void paintComponent(Graphics g)函数,它默认的是调用什么呢,为什么我把这 Jp[i].repaint(); Jp[i].validate();两句加上去就行了呢。


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2006-02-26 18:25
快速回复:关于重画的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027408 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved