這是我試過的。 基本上是一個橫幅,其中顯示滾動文字和閃爍圖像。我沒有得到任何輸出,但似乎正在運行的進程中。 我的問題聲明說,使用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