这是我试过的。 基本上是一个横幅,其中显示滚动文字和闪烁图像。我没有得到任何输出,但似乎正在运行的进程中。 我的问题声明说,使用Applet和多线程创建一个横幅,其中每个线程正在执行不同的任务。 如:而其他正在播放的音乐等如何为不同的任务使用不同的线程?
class Text extends Applet implements Runnable {
String msg = " Marvel Electronics ";
boolean stopFlag;
Thread t1 = null;
public void init() {
setBackground(Color.CYAN);
setForeground(Color.BLACK);
}
public void start() {
t1 = new Thread(this);
stopFlag=false;
t1.start();
}
public void run() {
char c;
for(;;) {
try {
repaint();
Thread.sleep(300);
c = msg.charAt(0);
msg=msg.substring(1, msg.length());
msg+=c;
if(stopFlag)
break;
} catch(InterruptedException e) {
System.out.println(e);
}
}
}
public void stop() {
stopFlag=true;
t1 = null;
}
public void paint(Graphics g) {
g.drawString(msg, 20, 30);
showStatus("Banner");
}
}
class Image extends Applet implements Runnable {
Thread t2 = null;
public void start() {
t2 = new Thread(this);
t2.start();
}
public void run() {
for(;;) {
try {
repaint();
Thread.sleep(200);
} catch (InterruptedException e) {
System.out.println(e);
}
}
}
public void paint(Graphics gfx) {
gfx.setColor(Color.WHITE);
gfx.fillRect(20, 50, 50, 50);
gfx.setColor(Color.DARK_GRAY);
gfx.fillOval(25, 55, 30, 30);
gfx.drawString("ME", 35, 65);
}
public void stop() {
t2 = null;
}
}
public class Banner {
public static void main(String args[]) {
Text t = new Text();
Image i = new Image();
t.start();
i.start();
}
}
有不到屏幕上的输出,但月食显示进程在运行一个线程显示滚动的横幅。请帮助我。谢谢。
小程序陈旧/过时/ [弃用](https://docs.oracle.com/javase/9/docs/api/java/applet/Applet.html)。你为什么写小程序? – Andreas
要运行实现可运行的类,您应该实例化一个Thread类,然后将Text类的实例作为参数。否则,将永远不会调用该方法运行 – guser
您没有调用任何方法来显示小程序,只要我可以看到。 – Haem