博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对于线程的一些理解
阅读量:4045 次
发布时间:2019-05-24

本文共 1068 字,大约阅读时间需要 3 分钟。

#isubb#package untitled1; import javax.microedition.lcdui.*; public class tetriscanvasdemo extends canvas implements runnable{ int drawx,drawy; image source; image copy; tetriscanvasdemo() { drawx=this.getwidth()/2; drawy=0; copy=image.createimage(this.getwidth(),this.getheight()); } protected void paint(graphics g) { graphics offscreen=copy.getgraphics(); offscreen.setcolor(255,255,255); offscreen.fillrect(0,0,this.getwidth(),this.getheight()); offscreen.setcolor(0,0,0); offscreen.fillrect(drawx,drawy,10,10); g.drawimage(copy,0,0,graphics.left |graphics.top); } public void run() { while(true) { this.down(); repaint(); try { thread.sleep(50);; } catch(interruptedexception e) { system.out.println("sleep error:"+e.getmessage()); } } } public void start() { thread t=new thread(this); t.start(); } protected void down() { if(drawy { drawy=drawy+1; } else { drawy=0; } } } [b] 在这个类中,如果没有implemnt runable那就是一般的canvas界面,执行完构造函数再paint函数显示就完了。加了runable,在start里,[color=#ff0000]thread t=new thread(this)就将此canvas定义为一个线程了,[/color]t.start()启动线程,在run里就可以写这个线程中做些什么了。 [/b]

转载地址:http://bdedi.baihongyu.com/

你可能感兴趣的文章
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
Java的对象驻留
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>