JAVA中repaint()方法的调用问题。 50

JAVA。我编写了如下形式的代码:{代码1;this.repaint();Thread.sleep(1000);代码2;this.repaint();}我的目的是先在代码... JAVA。
我编写了如下形式的代码:
{
代码1;
this.repaint();
Thread.sleep(1000);
代码2 ;
this.repaint();
}
我的目的是先在代码1执行完之后用repaint()刷新一遍图,在延迟一秒,最后执行代码2并刷新,但是结果却是代码1、2、延迟程序执行完以后才执行repaint()
有什么好的办法可以实现吗?
我是初学者,还请各位高手可以不吝赐教,谢谢。
展开
 我来答
chenxinppoo
2012-01-17 · TA获得超过606个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:205万
展开全部
不知道楼主的代码是什么
但是你可以把你的业务逻辑代码写到run方法中!
即写一个类实现Runable接口
在run方法中将你的业务逻辑放入,然后在sleep,再执行试试看。
对于swing,最好的就是保证图形和数据实现异步的模式。
至于楼主产生的效果的问题所在应该不是那样,其实底层确实是先执行代码1了,但是第一个repaint方法可能没起作用!
百度网友a0124da
2012-01-05 · 超过33用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:78万
展开全部
自己写个refresh方法,在里面执行想要刷新的组件的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daay1986
推荐于2016-08-10 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1475万
展开全部
repaint是在另外一个绘制线程里进行的。如果你要想呈现两种效果,只要把绘画的过程放在paint中,设置一个标志,改变标志然后调用repant就可以了,但是不能这样连起来写。
或者paintImmediately(Rectangle r)也许能达到你想要的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左手西阳
2012-01-05 · TA获得超过5722个赞
知道大有可为答主
回答量:4835
采纳率:37%
帮助的人:2494万
展开全部
repaint()是api里的函数,不是按你想象的那样执行的。查一下api,看看repaint()执行有什么条件
追问
谢谢你,那如果我想实现如上所述的目的,应该选择怎样的语句呢?
追答
放到两个函数里,分两个模块执行,试试吧,应该还需要repaint()。好长时间不写桌面程序了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式