你的线程那写得我觉得有问题,
public void run() {
try {
boolean flag = false;// 为false时表示第一次执行,x坐标进行等比递增,否则进行等差递增
while (true) { // 读取内容
Thread.sleep(300); // 当前线程休眠300毫秒
for (int i = drawChar.length - 1; i >= 0; i--) {
if (!flag) {
x[i] = x[i] + 20 * i;// x坐标进行等比递增
} else {
x[i] = x[i] + 20;// x坐标进行等差递增
}
if (x[i] >= 360 - 20) {// 大于窗体宽度减20的值时
x[i] = 0; // x坐标为0
}
}
repaint();// 调用paint()方法
if (!flag) {
flag = true;// 赋值为true
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
这是我的跑马灯的程序里面的run()方法,我觉得你可以参考一下,你看看
你才 sleep10毫秒,循环100次,也才1000毫秒=1S
不是没有出错么 有什么问题
看不懂