如果我的paint()里面传参数 比如:public void paint(Graphics g) 如何再在run方法里面调用呢
展开全部
Graphics是用来画画的啊
一般来讲,Graphics是不需要你初始化的,准确的讲,不需要你new出来的,你绘制GUI组件时,有一个方法public void paint(Graphics g)你很多时候都会覆盖他,这个方法是别人调的,参数也是别人传的,你什么都不用管,你只要用这个参数进行绘制就行。
另外,比如你要操作一副图像,你有一个BufferedImage的对象image,你可以写Graphics g = image.createGraphics(),这样你就得到了Graphics对象,你还是不用管他是怎么创建出来的,你只要用就可以了
事实上,Graphics只是个抽象类,你在GUI组件绘制中真正拿到手的可能是一个sun.java2d.SunGraphics2D对象,所以从具体对象的创建到返回到你手中估计还是有一个相当复杂的过程的。。。
一般来讲,Graphics是不需要你初始化的,准确的讲,不需要你new出来的,你绘制GUI组件时,有一个方法public void paint(Graphics g)你很多时候都会覆盖他,这个方法是别人调的,参数也是别人传的,你什么都不用管,你只要用这个参数进行绘制就行。
另外,比如你要操作一副图像,你有一个BufferedImage的对象image,你可以写Graphics g = image.createGraphics(),这样你就得到了Graphics对象,你还是不用管他是怎么创建出来的,你只要用就可以了
事实上,Graphics只是个抽象类,你在GUI组件绘制中真正拿到手的可能是一个sun.java2d.SunGraphics2D对象,所以从具体对象的创建到返回到你手中估计还是有一个相当复杂的过程的。。。
展开全部
说具体点.你的run方法是什么线程吗
追问
paint()函数的作用是在面板上的随机一个坐标显示一个本体图片
run方法则是要调用这个paint函数,在run方法里面有一个while循环和一个sleep(1000)的休眠 这样就可以无限让面板上每一秒随机先生本体图片
准备做一个打地鼠的小游戏 结果在run方法调用paint这里 卡住了
追答
还是一样用我改的方法啊,这样聊太慢了哦,你HI我吧.通讯工具聊,这个简单的要死.而且,我告诉你比while死循环和sleep更优化的方法来实现.
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询