package code;
import java.io.IOException;
import java.util.Random;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class manyCanvas extends Canvas implements Runnable{
Image jiu ;
Thread t;
LinkList1 list=new LinkList1();
int x=0,y=0;
int []xianshi1=new int[20];
int []xianshi2=new int[20];
Random random=new Random();
Font title=Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_LARGE);
public manyCanvas(){
try {
jiu = Image.createImage("/res/jiu.png");
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
t=new Thread(this);
t.start();
}
protected void paint(Graphics g) {
// TODO 自动生成方法存根
g.setColor(0xff00);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0x800000);
g.setFont(title);
show(g);
}
public void show(Graphics g){
for(int xx=0;xx<len;xx++){
if(xianshi1[len-1-xx]>=0&&xianshi2[len-1-xx]>0)
{
String str1=Integer.toString(xianshi1[len-1-xx]);
String str2=Integer.toString(xianshi2[len-1-xx]);
g.setColor(0xff0000);
g.drawString(str1, x*xx, y*xx+30, 0);
g.drawString(":",xx*x+13 , xx*y+30, 0);
g.drawString(str2, xx*x+20, xx*y+30, 0);
}
if(xianshi1[len-1-xx]==0&&xianshi2[len-1-xx]==0)
g.drawImage(jiu,x*xx, y*xx+30, 0);
}
}//end show
//按键处理
protected void keyPressed(int key){
key=this.getGameAction(key);
if(key==Canvas.DOWN){
int k = random.nextInt();
int kk= random.nextInt();
int k1= Math.abs(k%10);
int k2= Math.abs(kk%10)+50;
list.insert(k1, k2);
len=0;
flag=0;
x=30;
y=40;
}
}//end keyPressed
int len=0;
int flag=0;
public void run() {
// TODO 自动生成方法存根
while(true){
//求表的长度
if(flag==0){
Link1 temp=list.first;
while(temp!=null)
{
len++;
temp=temp.next;
}
// System.out.println("len:"+len);
flag=1;
}//end 求表长度
Link1 link=list.first;
int i=0;
for(int w=0;w<len;w++){
if(link.data2!=0){
link.data2--;
xianshi2[i]=link.data2;
xianshi1[i]=link.data1;
link=link.next;
i++;
}
else if(link.data1!=0&&link.data2==0){
link.data2=59;
link.data1--;
xianshi2[i]=link.data2;
xianshi1[i]=link.data1;
link=link.next;
i++;
}
else if(link.data1==0&&link.data2==0){
xianshi1[i]=link.data1;
xianshi2[i]=link.data2;
link=link.next;
i++;
}
}//end for
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
repaint();
}//end while
}
}
java版链表实现定时器功能
2星 需积分: 10 141 浏览量
2008-10-18
09:25:45
上传
评论
收藏 390KB RAR 举报
dujiu339
- 粉丝: 2
- 资源: 26
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈