如何使用Applet创建横幅?(How to create a banner using Applet?)

优质
小牛编辑
130浏览
2023-12-01

问题描述 (Problem Description)

如何使用Applet创建横幅?

解决方案 (Solution)

下面的示例演示了如何使用Thread类使用applet图像播放声音。 它还使用Graphics类的drawRect(),fillRect(),drawString()方法。

import java.awt.*;
import java.applet.*;
public class SampleBanner extends Applet implements Runnable {
   String str = "This is a simple Banner ";
   Thread t ;
   boolean b;
   public void init() {
      setBackground(Color.gray);
      setForeground(Color.yellow);
   }
   public void start() {
      t = new Thread(this);
      b = false;
      t.start();
   }
   public void run () {
      char ch;
      for( ; ; ) {
      try {
         repaint();
         Thread.sleep(250);
         ch = str.charAt(0);
         str = str.substring(1, str.length());
         str = str + ch;
      }
      catch(InterruptedException e) {}
      }
   }
   public void paint(Graphics g) {
      g.drawRect(1,1,300,150);
      g.setColor(Color.yellow);
      g.fillRect(1,1,300,150);
      g.setColor(Color.red);
      g.drawString(str, 1, 150);
   }
}

结果 (Result)

上面的代码示例将在启用Java的Web浏览器中生成以下结果。

View in Browser. 

以下是使用Applet创建横幅的另一个示例示例。

import java.awt.*;
import java.applet.*;
public class NewApplet extends Applet implements Runnable {
   String msg = " It is a moving Banner. ";
   char cha;
   boolean stopFlag = true;
   Thread t = null;
   public void start() {
      t = new Thread(this);
      stopFlag = false; 
      t.start();
   } 
   public void run() {
      for(;;) { 
         try { 
            repaint();
            Thread.sleep(250);
            cha = msg.charAt(0);
            msg = msg.substring(1,msg.length());
            msg = msg + cha;
            if(stopFlag) break;
         } 
         catch(InterruptedException e) {}
      } 
   } 
   public void stop(){
      stopFlag = true; 
      t = null;
   } 
   public void paint(Graphics g) { 
      g.drawString(msg,60,30);
   }
}