java中的多线程
我想在我的小程序中使用4个线程,使用的Runnable接口希望在所需位置移动所有线程 在我的小程序中,云图像在y轴上从o移动到750,当云在y轴上到达150时,直升机开始移动,直到到达350,然后该线程停止。 然后当我的直升机到达200时,一个人的图像出来,走到x轴,当它走了5到10毫秒时,它就会停下来 以下是我的代码:java中的多线程,java,applet,Java,Applet,我想在我的小程序中使用4个线程,使用的Runnable接口希望在所需位置移动所有线程 在我的小程序中,云图像在y轴上从o移动到750,当云在y轴上到达150时,直升机开始移动,直到到达350,然后该线程停止。 然后当我的直升机到达200时,一个人的图像出来,走到x轴,当它走了5到10毫秒时,它就会停下来 以下是我的代码: import java.applet.* ; package com.pack; import java.applet.*; import java.awt.*; impo
import java.applet.* ;
package com.pack;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class HelicopterScene extends Applet {
Image a, b, c;
int i, j, h, p;
public void init() {
i = 20;
j = 750;
h = 0;
a = getImage(getCodeBase(), "HelicopterAttack.jpg");
b = getImage(getCodeBase(), "pppp.png");
c = getImage(getCodeBase(), "helicopter1.png");
}
public void paint(Graphics g) {
showStatus(" Helicopter Scene Applet is started.....");
g.drawImage(a, 0, 0, this);
if (i <= 750 && j >= 20) {
if (i >= 150) {
g.drawImage(c, h, 255, 150, 35, this);
h++;
repaint();
try {
Thread.sleep(20);
} catch (InterruptedException w) {
}
}
g.drawImage(b, j, 120, 90, 70, this);
g.drawImage(b, i, 180, 120, 70, this);
i++;
j--;
repaint();
try {
Thread.sleep(10);
if (i == 750 && j == 20) {
p = h;
g.drawImage(c, p, 255, 150, 35, this);
h++;
repaint();
try {
Thread.sleep(20);
} catch (InterruptedException w) {
}
i = 20;
j = 750;
}
} catch (InterruptedException e) {
}
}
}
}
import java.applet.*;
包com.pack;
导入java.applet.*;
导入java.awt.*;
导入java.awt.event.*;
公共类直升机{
图像a、b、c;
inti,j,h,p;
公共void init(){
i=20;
j=750;
h=0;
a=getImage(getCodeBase(),“HelicopterAttack.jpg”);
b=getImage(getCodeBase(),“pppp.png”);
c=getImage(getCodeBase(),“helicopter1.png”);
}
公共空间涂料(图g){
showStatus(“直升机场景小程序已启动…”);
g、 drawImage(a,0,0,this);
如果(i=20){
如果(i>=150){
g、 drawImage(c、h、255、150、35,本);
h++;
重新油漆();
试一试{
睡眠(20);
}捕捉(中断异常w){
}
}
g、 drawImage(b,j,120,90,70,this);
g、 drawImage(b,i,180,120,70,this);
i++;
j--;
重新油漆();
试一试{
睡眠(10);
如果(i==750&&j==20){
p=h;
g、 drawImage(c,p,255,150,35,this);
h++;
重新油漆();
试一试{
睡眠(20);
}捕捉(中断异常w){
}
i=20;
j=750;
}
}捕捉(中断异常e){
}
}
}
}
首先,您永远不想在UI线程上睡觉。第二,你永远不想在UI线程上画画。您应该调查SwingUtilities.invokeLater()。首先,您永远不想在UI线程上睡觉。第二,你永远不想在UI线程上画画。你应该调查SwingUtilities.invokeLater()。如果这是一个家庭作业,请在问题上添加一个适当的标记。如果这是一个家庭作业,请在问题上添加一个适当的标记。你能告诉我怎么做吗?因为我是java概念的新手,所以如果您能帮助我,我将不胜感激。。。谢谢你的回复…你能告诉我怎么做吗?因为我是java概念的新手,所以如果您能帮助我,我将不胜感激。。。谢谢你的回复。。。